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 >> > >
signature.asc
Description: OpenPGP digital signature