JMS MQ通道不断增加并耗尽



我已经在WebSphere管理控制台中配置了队列连接工厂,并使用jndi查找来使用它。WebSphere Application Server中的MQ队列连接工厂有设置。连接池最大大小至30,会话池最大大小为20

作为我在应用程序中的各种春季集成工作流的一部分,它们在几个jms:message驱动的通道适配器或jms通道或jms:inbound通道适配器中使用。在一段时间内,我们看到MQ通道上的连接数不断增加,达到允许的最大值(约1800)。一旦我们反弹服务器,连接数就会恢复到50以下。

  1. 是否缺少任何设置
  2. 如何确定JMS会话池是否正在关闭/释放

非常感谢您的帮助

<jee:jndi-lookup id="queueConnectionFactory" jndi-name="$env{Queue.ConnectionFactory}"  />

<si-jms:message-driven-channel-adapter
id="messageDrivenAdapter" channel="routingChannel" 
container="messageListenerContainer" />

<bean id="messageListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="queueConnectionFactory" />
<property name="destination" ref="inQueue" />
<property name="transactionManager" ref="txManager" />
<property name="taskExecutor" ref="MQExecutor" />
</bean>

<si-jms:channel id="regChannel" queue="regQueue" connection-factory="queueConnectionFactory" transaction-manager="txManager" task-executor="regtaskExecutor" />  

在我以前在WebSphere上使用Spring Integration时,我们有一个类似这样的bean:

<bean id="connectionFactory" class="org.springframework.jms.connection.DelegatingConnectionFactory">
<property name="targetConnectionFactory">
<jee:jndi-lookup jndi-name="someConnectionFactory"/>
</property>
<property name="shouldStopConnections" value="true"/>
</bean>

让我们看看这是否能帮到你!

最新更新