我们正在尝试建立一个从tomcat到IBM MQSeries的jms连接,并考虑建立连接池。
我们点击了下面的链接,并提出了建议的解决方案:
我不知道如何使用建议的方法来管理不同的jms连接,我们进行了测试,并且注意到CachingConnectionFactory管理不同的jms会话而不是jms连接。
我与您分享下面的链接,其中解释了CachingConnectionFactory不允许管理不同的jms连接,而只能管理jms会话!
https://jira.spring.io/browse/SPR-13586
我还与您分享了这两个文件context.xml(数据源和services.xml(Spring服务文件))
context.xml
<Resource name="jms/AN8.NOTI.MOBILE.01" auth="Container" type="org.springframework.jms.connection.CachingConnectionFactory"
factory="com.cl.fwk.jms.utilities.RSFCachingMQQueueConnectionFactoryFactory"
description="JMS Queue Connection Factory for sending messages" HOST="**********"
PORT="****" CHAN="******" TRAN="*" QMGR="***" />
<Resource name="jms/MQAN8.NOTI.MOBILE.01" auth="Container"
type="com.ibm.mq.jms.MQQueue" factory="com.ibm.mq.jms.MQQueueFactory"
description="JMS Queue for receiving messages from Dialog" QU="********" />
Run Code Online (Sandbox Code Playgroud)
services.xml
<!-- Ressource JNDI pour la connexion MQSeries-->
<bean id="xxxx.jmsRefConnectionFactory.mqseries" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jms/AN8.NOTI.MOBILE.01" />
<property name="resourceRef" value="true" />
</bean>
<!-- Ressource JNDI pour la file d'attente du broker MQSeries-->
<bean id="xxxx.jmsRefQueue.mqseries" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jms/MQAN8.NOTI.MOBILE.01" />
<property …Run Code Online (Sandbox Code Playgroud)