So the recommendation is to move to Aries Blueprint? Is there support for the context component scan or will I need to setup a different wiring pattern?
Thanks Chris On Mon, Nov 5, 2012 at 12:45 PM, Benjamin Graf <benjamin.g...@gmx.net>wrote: > 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 > >> > > > > > > -- Chris Love cl...@cnmconsulting.net (303) 929-8509 http://www.cnmconsulting.net Calendar: http://j.mp/cnmCalendar Follow me on twitter: @chrislovecnm