0 Replies Latest reply on Jun 3, 2015 3:22 AM by Shaun Curtis

    ironjacamar - max-pool-size is ignored

    Shaun Curtis Newbie

      We are running an app on EAP 6.2.0.GA AS 7.3.0

      I'm investigating an issue where we are establishing too many JMS connections to one of our data providers.

      We have used the ironjacamar config to define the JMS Connection Factory. Until now there has been no <pool> definition within this config, so I assume it is applying default Pool settings. I've observed through the logs and JMX beans that the pool grows to 20 connections.

       

      Today I have added the below <pool> definition to the ironjamar config, but it has had no effect, ie the Pool still grows to 20 connections.

      <ironjacamar>
          <connection-definitions>
              <connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:/jms/ABCConnectionFactory" enabled="true"
                                    use-java-context="true" pool-name="ABCConnectionFactory" use-ccm="true">
                  <config-property name="port">${wmq.host.port}</config-property>
                  <config-property name="hostName">${wmq.host.ip}</config-property>
                  <config-property name="channel">${wmq.server.channel}</config-property>
                  <config-property name="transportType">CLIENT</config-property>
                  <config-property name="queueManager">${wmq.queue.manager}</config-property>
               
                  <pool>
                      <min-pool-size>1</min-pool-size>
                      <max-pool-size>3</max-pool-size>
                      <prefill>false</prefill>
                      <flush-strategy>IdleConnections</flush-strategy>
                  </pool>
      
              </connection-definition>
          </connection-definitions>
          <etc />
      </ironjacamar>
      
      
      

       

      I've enabled debug logging for jca to confirm the pool size, as below.

      2015-06-03 17:01:36,590 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] ABCConnectionFactory: getConnection(null, null) [0/20]
      2015-06-03 17:01:36,649 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] ABCConnectionFactory: returnConnection(d23280d, false) [1/20]
      

       

      We're using Spring to wire in the connection factory and Queues, ie:

          <jee:jndi-lookup jndi-name="jms/ABCConnectionFactory"
                           id="connectionFactory"
                           lookup-on-startup="true"
                           expected-type="javax.jms.ConnectionFactory">
          </jee:jndi-lookup>
      
      
          <jee:jndi-lookup jndi-name="jms/ABCRequestQueue" id="requestQueue" expected-type="javax.jms.Queue"  />
          <jee:jndi-lookup jndi-name="jms/ABCResponseQueue" id="responseQueue" expected-type="javax.jms.Queue" />
      

       

      Can anybody see any issue with the above?