Hi.

That's how I did it (with artemis, though I suppose it would be the same with 
the activemq):
feature:repo-add mvn:org.apache.activemq/artemis-features/2.10.1/xml/features
feature:install -u -r pax-jms-artemis pax-jms-pool pax-jms-config jms

Then create a etc/org.ops4j.connectionfactory-default.cfg (default is the 
"name" of the instance), changing the parameters as you need:
connectionFactoryType = ConnectionFactory
jms.url = tcp://localhost:61616
jms.user = karaf
jms.password = karaf
osgi.jndi.service.name = mq/default
type = artemis

Later on, you can reference the ConnectionFactory in blueprint xml:
<reference id="jms" interface="javax.jms.ConnectionFactory" 
filter="(osgi.jndi.service.name=mq/default)"/>

But if you want to expose a org.apache.activemq.ActiveMQConnectionFactory, from 
my point of view there's two options:
1. Register it using the blueprint as a service and reference it in other 
blueprints/bundles/...
2. Create a bundle, that registers a ManagedServiceFactory/ManagedService, 
which will create and register an instance of ActiveMQConnectionFactory with 
the parameters from the Configuration Admin (that come from the cfg file).

-----Original Message-----
From: Gerald Kallas <catsh...@mailbox.org> 
Sent: Monday, January 6, 2020 3:24 PM
To: users@camel.apache.org
Subject: JMS connection pooling configuration instance wide in Camel 3.0.0 
(Karaf 4.2.7)

Dear community,

I'm currently configuring the JMS connection factory within a blueprint XML like

<!-- set JMS connection factory -->
<bean id="jmsConnectionFactory" 
class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616" /> <property 
name="userName" value="xxxxx" /> <property name="password" value="xxxxx" /> 
</bean>

Could this be done in one of the config files in etc folder for the whole 
instance of Karaf/Camel?

Any hints are helpful, tx in advance.

Best
- Gerald

Reply via email to