我正在Mule中使用JMS连接器进行MQ操作。我在代码库中使用直接JMS连接选项,并且每当Mule向MQ发布消息时,该连接就不会关闭。还注意到,如果我发布批量消息(如10K),则建立的连接更像500,但不会自动关闭。
下面是代码段-
<spring:beans>
<spring:bean id="JmsFactory" name="JmsFactory" class="com.ibm.mq.jms.MQConnectionFactory">
<spring:property name="hostName" value="XXXX"/>
<spring:property name="port" value="XXXX"/>
<spring:property name="queueManager" value="XXXX"/>
<spring:property name="transportType" value="1"/>
<spring:property name="channel" value="XXXX"/>
</spring:bean>
</spring:beans>
<jms:connector name="jmsconnector" username="XXXX" password="XXXX" validateConnections="true" numberOfConsumers="1" persistentDelivery="true" specification="1.1" connectionFactory-ref="JmsFactory"/>
<jms:outbound-endpoint queue="SOURCE.IN" connector-ref="jmsconnector" />
有人可以建议一旦Mule将消息发布到MQ时,我们如何有效地关闭连接。
答案 0 :(得分:1)
您可以设置useCacheSessions = false以在MQ提交后关闭JMS连接。
<jms:connector name="jmsconnector" username="XXXX" password="XXXX" validateConnections="true" numberOfConsumers="1" persistentDelivery="true" specification="1.1" connectionFactory-ref="JmsFactory" cacheJmsSessions="false" />