Hi Roshan,
I don´t think you can reference the connectionfactory from the endpoint url. I
may be wrong though.
What you can easily do is set up a jms component in spring and reference the
connectionfactory through a service reference.
Perhaps this is already what you need:
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="connectionFactory"/>
</bean>
<reference id=" connectionFactory "
interface="javax.jms.ConnectionFactory"/>
If you don´t want to use spring for it you can do the same in java:
JmsComponent jmsComponent = new JmsComponent();
jmsComponent.setConnectionFactory(cf);
camelContext.addComponent("jms", jmsComponent);
You will only have to retrieve the connection factory from a service tracker or
the camel registry.
Christian
-----Ursprüngliche Nachricht-----
Von: Roshan A. Punnoose [mailto:[email protected]]
Gesendet: Donnerstag, 17. Februar 2011 21:40
An: [email protected]
Betreff: Camel Osgi JMS
Usually we use spring to set up the camel jms component before using, but I
wanted to know if it is possible to reference any bean in the camel registry by
name for the connectionFactory.
For example, let's say that I have the jms connection factory exposed as an
osgi service in my container. Thanks to camel, I can actually search the osgi
service registry with my camel registry by just asking for any bean with name
"javax.jms.ConnectionFactory". That will return the first JMS Connection
Factory as a bean from teh camel/osgi registry. Is there anyway in the
camel-jms component to do something where I can refer to that connection
factory instead of writing up a spring configuration to do the same?
Something like:
from("jms:topic:heartBeatWithCounts?connectionFactory=javax.jms.ConnectionFactory")
Roshan