Hi Chris,

I think you won't be successful with a spring-dm support issue since spring-dm
development has been stopped in 2009.
Have a look on gemini-blueprint (spring-dm 2.0+) and discussion on camel-dev
about introducing s new component to support gemini-blueprint in a future camel
version.

Regards,
Benjamin

On 05.11.2012 20:32, Christopher Love wrote:
> Claus
>
> @Value was added in spring 3.1 - so this is a spring dm support issue?  Let
> me see if camel is using the latest flavor of the month
>
> Chris
>
> On Mon, Nov 5, 2012 at 8:09 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>
>> On Fri, Nov 2, 2012 at 10:17 PM, Christopher Love
>> <ch...@cnmconsulting.net> wrote:
>>> Claus and other
>>>
>>> I am just coming up to speed on blueprint / osgi, and I think I may be
>>> running into the same form of issue.  @Value with property place holder
>>> does not seem to be populating when the route is deployed inside of
>> Karaf.
>>>  In unit test it populates the string correctly running inside of Karaf
>> it
>>> does not.
>>>
>> I assume @Value is from Spring Framework? And when was this added to
>> Spring? Anyone knows?
>> Maybe Spring-DM 1.2.1 don't support it
>>
>>
>>> Here is some pertinent code:
>>>
>>> @Component
>>> public class EdiTmpClaimRoute extends SpringRouteBuilder {
>>>
>>> private @Value("${file.path}")
>>> String filePath;
>>>
>>> @Override
>>> public void configure() throws Exception {
>>>
>> from("activemq:claim-queue?concurrentConsumers=50&asyncConsumer=true")
>>>     .routeId("edi-qsi-tmp-file-route")
>>>
>>>
>> .to("file:"+filePath+"/?fileName=${date:now:yyyyMMdd}-qsi-${exchangeId}.txt");
>>> }
>>>
>>> }
>>>
>>> @Configuration
>>> @PropertySource("classpath:smilebrands-edi.properties")
>>> @ComponentScan(basePackages = { "com.smilebrands.edi.camel",
>>> "com.smilebrands.edi.core.qsi" })
>>> public class CamelServerConfig implements InitializingBean,
>>> BundleContextAware, ApplicationContextAware {
>>>
>>>   private BundleContext bundleContext;
>>>
>>>   public BundleContext getBundleContext() {
>>>     return bundleContext;
>>>   }
>>>
>>>   public void setBundleContext(BundleContext bundleContext) {
>>>     this.bundleContext = bundleContext;
>>>   }
>>>
>>>   private ApplicationContext applicationContext;
>>>
>>>   public void setApplicationContext(ApplicationContext ac) {
>>>     this.applicationContext = ac;
>>>   }
>>>
>>>   protected ApplicationContext getApplicationContext() {
>>>     return this.applicationContext;
>>>   }
>>>
>>>   @Bean
>>>   public ActiveMQComponent amq(@Value("${broker.url}") String brokerURL)
>> {
>>>     ActiveMQComponent activeMQComponent = new ActiveMQComponent();
>>>     activeMQComponent.setBrokerURL(brokerURL);
>>>     return activeMQComponent;
>>>   }
>>>
>>>   @Override
>>>   public void afterPropertiesSet() throws Exception {
>>>     // TODO Auto-generated method stub
>>>
>>>   }
>>>
>>>   @Bean
>>>   public static PropertySourcesPlaceholderConfigurer
>>> propertySourcesPlaceholderConfigurer() {
>>>     return new PropertySourcesPlaceholderConfigurer();
>>>   }
>>>
>>> }
>>>
>>> camel-context.xml
>>>
>>> <?xml version="1.0" encoding="UTF-8"?>
>>> <beans xmlns="http://www.springframework.org/schema/beans";
>>>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>>> xmlns:context="http://www.springframework.org/schema/context";
>>>  xmlns:camel="http://camel.apache.org/schema/spring";
>>> xsi:schemaLocation="
>>>  http://www.springframework.org/schema/beans
>>> http://www.springframework.org/schema/beans/spring-beans.xsd
>>>  http://www.springframework.org/schema/context
>>> http://www.springframework.org/schema/context/spring-context.xsd
>>>    http://camel.apache.org/schema/spring
>>> http://camel.apache.org/schema/spring/camel-spring.xsd";
>>>  >
>>>
>>>   <camelContext xmlns="http://camel.apache.org/schema/spring";>
>>>     <contextScan/>
>>>   </camelContext>
>>>
>>>   <bean class="com.smilebrands.edi.config.CamelServerConfig"/>
>>>   <!-- be sure the configure class to be processed -->
>>>   <context:annotation-config/>
>>>
>>> </beans>
>>>
>>> What are your recommendations?  You are stating to use blueprint, but
>> does
>>> blueprint have the same type of capabilities?
>>>
>>> Thanks
>>>
>>> Chris
>>>
>>> On Wed, Sep 5, 2012 at 7:42 AM, Claus Ibsen <claus.ib...@gmail.com>
>> wrote:
>>>> Hi
>>>>
>>>> Using Aries Blueprint should work fine.
>>>>
>>>> There is possible a need for a Gemini integration with Camel to make
>>>> this work out of the box.
>>>>
>>>> Fell free to help out, and take a look at camel-blueprint, which is
>>>> the component that integrates with Aries Blueprint.
>>>> Yeah that should maybe have been named camel-blueprint-aries, to leave
>>>> room for camel-blueprint-gemini,
>>>>
>>>>
>>>> On Tue, Sep 4, 2012 at 3:24 PM, ladoe00 <lado...@yahoo.com> wrote:
>>>>> Hi,
>>>>>
>>>>>   I used to have a working system using Spring-OSGi, XML configs and
>>>> Camel
>>>>> 2.5 and I thought it would be great to upgrade to the latest version
>> for
>>>> all
>>>>> those components.  So I am now using Gemini Blueprint (replacement for
>>>>> Spring-OSGi), Spring Java config to get rid of XML and Camel 2.10.1.
>>  I
>>>> have
>>>>> converted every XML file to be @Configuration classes with
>> RouteBuilders,
>>>>> which I think is great, but now I am having problems injecting a
>>>>> CamelContext and ProducerTemplates.  That will just not work at all.
>>  I
>>>> must
>>>>> be missing something...
>>>>>
>>>>> For example:
>>>>> public class MyConfig extends SingleRouteCamelConfiguration implements
>>>>> CamelContextAware
>>>>> {
>>>>>     @Value("input")
>>>>>     private String input;
>>>>>
>>>>>     @Autowired
>>>>>     private Factory myFactory;
>>>>>
>>>>>     @EndpointInject(uri="seda:aQueue")
>>>>>     private ProducerTemplate producer1;
>>>>>
>>>>>     @Produce(uri="seda:aQueue")
>>>>>     private ProducerTemplate producer2;
>>>>>
>>>>>     private CamelContext camelContext;  //  with appropriate
>>>> getter/setter
>>>>> ...
>>>>> }
>>>>>
>>>>> input and myFactory are injected with values, but producer1, producer2
>>>> and
>>>>> camelContext are not.
>>>>>
>>>>> I am using Equinox and Eclipse Gemini Blueprint Extender, camel-core,
>>>>> camel-spring, camel-spring-javaconfig as well as one XML support file
>>>> (that
>>>>> does get loaded):
>>>>> <beans>
>>>>>     <context:annotation-config/>
>>>>>     <context:component-scan base-package="*"/>
>>>>>     <context:property-placeholder
>>>> location="classpath:config.properties"/>
>>>>> </beans>
>>>>>
>>>>> I have no camelContext declared anywhere.  My routes are declared and
>>>>> created with @Configuration classes returning RouteBuilders (this part
>>>> works
>>>>> well).
>>>>>
>>>>> In summary, everything works well beside Camel annotations (@Produce,
>>>>> @EndpointInject and CamelContextAware interface, which should inject a
>>>>> CamelContext from my understanding).  What am I not declaring/not
>>>> starting
>>>>> right?
>>>>>
>>>>> Thanks!
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>> http://camel.465427.n5.nabble.com/Issue-with-Camel-annotations-not-being-processed-OSGi-Blueprint-Javaconfig-tp5718606.html
>>>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>>
>>>>
>>>> --
>>>> Claus Ibsen
>>>> -----------------
>>>> FuseSource
>>>> Email: cib...@fusesource.com
>>>> Web: http://fusesource.com
>>>> Twitter: davsclaus, fusenews
>>>> Blog: http://davsclaus.com
>>>> Author of Camel in Action: http://www.manning.com/ibsen
>>>>
>>>
>>>
>>> --
>>> Chris Love
>>> cl...@cnmconsulting.net
>>> (303) 929-8509
>>> http://www.cnmconsulting.net
>>> Calendar: http://j.mp/cnmCalendar
>>> Follow me on twitter: @chrislovecnm
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> Red Hat, Inc.
>> FuseSource is now part of Red Hat
>> Email: cib...@redhat.com
>> Web: http://fusesource.com
>> Twitter: davsclaus
>> Blog: http://davsclaus.com
>> Author of Camel in Action: http://www.manning.com/ibsen
>>
>
>

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to