Yeah, that's what I expected. Thanks! I think that last solution would work in 
the short term, but I also created a component that added a 
"connectionFactoryName" parameter, so now my string looks like:

"myjms:topic:heartBeatWithCounts?connectionFactoryName=javax.jms.ConnectionFactory"

Where it looks up the ConnectionFactory in the camel registry (aka the osgi 
service registry)

Works for now, but we'll see. 

Thanks for all your help guys.

Roshan
________________________________________
From: Christian Schneider [[email protected]]
Sent: Thursday, February 17, 2011 5:06 PM
To: [email protected]
Subject: AW: Camel Osgi JMS

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

--
Follow this link to mark it as spam:
http://mailfilter.proteus-technologies.com/cgi-bin/learn-msg.cgi?id=ECEF027DF1.A1454


Reply via email to