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.
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