Ganesh, Ok, so it looks like the syntax without the # comes closer to what we want. Could you try adding a type or index as is indicated by the error message there? (cfr. http://static.springframework.org/spring/docs/2.0.x/reference/beans.html#beans-factory-ctor-arguments-type -- § 3.3.2.1 and § 3.3.2.2)
As a workaround, I still think you can use the secondary route as I mentioned in my previous post. Instead of using the ServiceMix client in the loop to send messages to the NMR directly, you could just grab a Camel ProducerTemplate to send Camel messages to the direct endpoint and let that take care of interacting with the NMR. Regards, Gert Vanthienen ------------------------ Open Source SOA: http://fusesource.com Blog: http://gertvanthienen.blogspot.com/ 2009/4/10 navigator09 <[email protected]>: > > Hi Gert, > > I tried injecting dependency using #jbi. This also fails with the stack > trace mentioned in servicemix_#jbi.log attached to the mail. > > The stack trace caused by dependency injection using 'jbi' is available in > servicemix_jbi.log . > > In servicemix 3.2.2. the camel routes dont have the looping based on a > condition ( like for loops) capability. This logic has been added inside a > processor. The logic requires access to nmr based on certain status. So I am > using servicemixclient for the purpose. > > Regards, > Ganesh http://www.nabble.com/file/p22984089/servicemix_jbi.log > servicemix_jbi.log > http://www.nabble.com/file/p22984089/servicemix_%2523jbi.log > servicemix_%23jbi.log > > > > Gert Vanthienen wrote: >> >> Ganesh, >> >> Injecting the client the way you are doing should work. The only >> thing I can think of: could you try with #jbi instead of jbi in the >> client declaration? If that still doesn't work, could you post us the >> stacktrace that you're seeing? >> >> Second question though: why do you want to inject a ServiceMix client >> in there? If you want to access another service, wouldn't it be much >> easier to just create a second route in your Camel routebuilder >> (from("direct:b").to("jbi:endpoint:...") and then send a Camel >> exchange to the "direct:b" endpoint? >> >> Regards, >> >> Gert Vanthienen >> ------------------------ >> Open Source SOA: http://fusesource.com >> Blog: http://gertvanthienen.blogspot.com/ >> >> >> >> 2009/4/9 navigator09 <[email protected]>: >>> >>> Hi, >>> >>> I am trying to access ComponentContext inside servicemix-camel. I tried >>> the >>> following two approaches >>> >>> 1. created the following property inside the class which implements the >>> route builder >>> >>> private javax.jbi.component.ComponentContext context; >>> >>> public void setContext(ComponentContext context) { >>> this.context = context; >>> } >>> Expecting the dependency to be injected into the class extending the >>> route >>> builder as suggested by some forums. But it did not work. >>> >>> 2. I tried the following configuration with the xbean.xml of the camel >>> >>> <bean id="JobPollerService" class="poller.service.JobPollerService"> >>> <property name="servicemixclient" ref="client" /> >>> </bean> >>> >>> <bean id="client" >>> class="org.apache.servicemix.client.DefaultServiceMixClient"> >>> <constructor-arg ref="jbi" /> >>> </bean> >>> >>> and in the camel router I implemented the following method >>> >>> public static DefaultServiceMixClient client; >>> public void setContext(DefaultServiceMixClient client) { >>> log.debug("Injecting component context"); >>> this.client= client; >>> } >>> >>> here it failed to create the bean client saying that the constructor is >>> incorrect. what is the right way to access ComponentContext or to create >>> servicemixclient inside the servicemix-camel component. >>> >>> Regards, >>> Ganesh >>> -- >>> View this message in context: >>> http://www.nabble.com/How-to-access-ComponentContext-inside-servicemix-camel-tp22972903p22972903.html >>> Sent from the ServiceMix - User mailing list archive at Nabble.com. >>> >>> >> >> >> ----- >> --- >> Gert Vanthienen >> http://gertvanthienen.blogspot.com >> > > -- > View this message in context: > http://www.nabble.com/How-to-access-ComponentContext-inside-servicemix-camel-tp22972903p22984089.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > >
