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