JMS MQ通道不断增加和耗尽

时间:2019-01-22 22:39:42

标签: spring-integration

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

这些已在我的应用程序中使用的各种spring集成工作流中的几个jms:message-driven-channel-adapter或jms channel或jms:inbound-channel-adapter中使用。 在一段时间内,我们看到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" />  

1 个答案:

答案 0 :(得分:0)

在我过去在WebSphere上使用Spring Integration的时候,我们有一个像这样的bean:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

df = pd.DataFrame(np.random.randn(300, 4), columns=[f"F{i+1}" for i in range(4)])
df["y"] = np.random.choice([1., 0.], size=len(df))

sns.pairplot(df, vars=df.columns[:-1], hue="y")
plt.show()

让我们看看是否可以帮到您!