如何有效地从Mule-3关闭JMS连接

时间:2018-10-12 10:39:50

标签: java jms mule ibm-mq mule-esb

我正在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时,我们如何有效地关闭连接。

1 个答案:

答案 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" />