I have a spring jms application that currently using ibm mq server for the queue managment. We are planning to change the middleware to rabbitmq for better performance and to control it effectively but want to keep the spring jms code as it is. I followed all the steps mentioned in the following link. https://www.rabbitmq.com/jms-client.html
Currently in my tomcat context.xml, the queue configuration is like below
<Resource
name="jms/MYQUEUE"
auth="Container"
type="com.ibm.mq.jms.MQQueue"
factory="com.ibm.mq.jms.MQQueueFactory"
description="JMS Queue for receiving messages from Dialog"
QU="MYQUEUE"/>
For the rabbitmq jms, i am changing it to
<Resource
name="jms/MYQUEUE"
auth="Container"
type="javax.jms.Queue"
factory="com.rabbitmq.jms.admin.RMQObjectFactory"
description="JMS Queue for receiving messages from Dialog"
destinationName="MYQUEUE"
amqp="true" />
I have added all the neccessary jars in the project lib. But everytime i start tomcat, i get javax.naming.NameNotFoundException: Name JMS is not bound in this context. I do not get any error for the connection factory though.
<Resource
name="jms/queueCF"
auth="Container"
type="javax.jms.ConnectionFactory"
factory="com.rabbitmq.jms.admin.RMQObjectFactory"
description="JMS Queue Connection Factory for sending messages"
HOST="localhost"
PORT="5672"
username="guest"
password="guest"
/>
Is there any configuration missing or is this a class loading issue?