我已经在WebSphere管理控制台中配置了队列连接工厂,并使用jndi查找来使用它。WebSphere Application Server中的MQ队列连接工厂有设置。连接池最大大小至30,会话池最大大小为20
作为我在应用程序中的各种春季集成工作流的一部分,它们在几个jms:message驱动的通道适配器或jms通道或jms:inbound通道适配器中使用。在一段时间内,我们看到MQ通道上的连接数不断增加,达到允许的最大值(约1800)。一旦我们反弹服务器,连接数就会恢复到50以下。
- 是否缺少任何设置
- 如何确定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>
让我们看看这是否能帮到你!