0
votes

I have configured queueconnection factory in the WebSphere admin console and using jndi lookup to use it. MQ Queue Connection Factories in WebSphere Application Server has settings. Connection pool Max size to 30 and session pool Max size to 20

These are than used in several jms:message-driven-channel-adapter or jms channels or jms:inbound-channel-adapter as part of various spring integration workflows that I have in my application. Over a period we see that the connection count on MQ channel keeps increasing upto maximum allowed (about 1800).Once we bounce the server the count comes back to normal below 50.

  1. Is there any setting missing ?
  2. How can I be sure if the JMS session pools are being closed/released ?

Any help is appreciated

<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

1 Answers

0
votes

In my old days when we use Spring Integration on WebSphere we had a bean like this:

<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>

Let's see if that can help you!