如何有效地关闭来自 Mule-3 的 JMS 连接

How to close JMS connection from Mule-3 efficiently

我在 Mule 中使用 JMS 连接器进行 MQ 操作。我在我的代码库中使用直接 JMS 连接选项,并注意到每当 Mule post 向 MQ 发送消息时该连接没有关闭。还注意到,如果我 post 像 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 post 向 MQ 发送消息,我们如何有效地关闭连接。

您可以设置 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" />