I am trying to populate a JMS message store from the WSO2 ESB.
I set up the following configuration for the message store...
<messageStore name="JMSMS" class="org.apache.synapse.message.store.impl.jms.JmsStore"
xmlns="http://ws.apache.org/ns/synapse">
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory
</parameter>
<parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter>
<parameter name="store.jms.destination">JMSMS</parameter>
<parameter name="store.jms.username">admin</parameter>
<parameter name="store.jms.password">admin</parameter>
<parameter name="store.jms.JMSSpecVersion">1.1</parameter>
When I start the ESB I get the following error :-
[2014-07-29 16:43:45,633] ERROR - JmsStore Store [JMSMS]. Could not create a new connection to the broker. Initial Context Factory:[org.apache.qpid.jn di.PropertiesFileInitialContextFactory]; Provider URL:[repository/conf/jndi.properties]; Connection Factory:[null].
I have used the above java.naming.factory.initial
to successfully connect to a standard Message Broker queue as an endpoint without going through the Message store.
I have also tried changing the value of java.naming.factory.initial
to org.apache.qpid.jndi.PropertiesFileInitialContextFactory
but get the same error.
Does anyone have an idea of what config or files I am missing?
Cheers Macca
Update
Below is the jndi.properties and axis2.xml config I am using
JNDI.Properties
connectionfactory.ConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://inf02-3:5673'
queue.JMSMS=JMSMS
axis2.xml
<transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
<parameter name="default" locked="false">
<parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
<parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">ConnectionFactory</parameter>
</parameter>
</transportSender>