Configuring multiple JMS Providers on the ESB?
I have an existing system that uses multiple JMS providers, all using different vendors and deployed across multiple hosts.
I would like to use the WSO2 ESB such that I can define on a per Service basis which JMS provider it should use, and I would like this to be done at runtime when the service instantiates itself. The document http://wso2.org/project/esb/java/1.5/docs/ESB_Samples_Setup.html#L115 shows how to do this for the entire axis2 engine (ie: across all services).
Are there any documents describing this?
.
- Login or register to post comments
- Printer friendly version
- 168 reads











Jamie How you would do
Jamie
How you would do this is by defining a bunch of logical connection factories, and then linking different services with the different factories that talk to the different providers
e.g. axis2.xml
<transportReceiver name="jms" class="org.apache.synapse.transport.jms.JMSListener">
<parameter name="myProvider1QCF">
<parameter name="java.naming.factory.initial">com.something.Provider1</parameter>
<parameter name="java.naming.provider.url">p1://localhost/xx/yy</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
</parameter>
<parameter name="myProvider2QCF">
<parameter name="java.naming.factory.initial">com.somethingelse.Provider2</parameter>
<parameter name="java.naming.provider.url">p2://localhost/xx/yy</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
<parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
</parameter>
.....
....
Now in your synapse.xml (or by adding service level parameters from the admin console) you link your proxies as:
hope this helps
asankha
That's what I had assumed. I
That's what I had assumed.
I imagine that the axis2 server would have to be restarted whenever a change to the axis2.xml file is made?
Jamie In our case the 'axis2
Jamie
In our case the 'axis2 server' is embedded into the ESB core engine. So yes, whenever you edit the axis2.xml, you will need to restart the ESB
asankha
My service is deployed onto
My service is deployed onto WSAS but I want my proxy to talk to the service via JMS. The JMS providers are defined in the WSAS axis2.xml config file, but not accessible to the ESB/proxy.