0 Replies Latest reply on Apr 16, 2014 1:32 PM by laros

    JBoss 5.1 MDB connection pool and wmq.jmsra.rar creating and immediately destroy connections

    laros

      Hello!

       

      I deployed a sample EJB3.0 application that contains only a one MDB which consumes msgs from Websphere MQ queue. I've installed the IBM RAR according to: http://www.ibm.com/developerworks/websphere/library/techarticles/0710_ritchie/0710_ritchie.html?ca=drs.

       

      My setup:

      1. The MDB  utilizes the descriptors rather than annotations, therefore I have the activation-config-properties defined in jboss.xml

      2. The trans attribute is set to Required inside ejb-jar.xml.

      3. Since the task was to test the MDB performance under heavy load I defined:

      3.1  <max-pool-size>50</max-pool-size>  inside tx-connection-factory written in file wmq.jmsra-ds.xml

      3.2 maxPoolDepth inside jboss.xml

                    <activation-config-property-name>maxPoolDepth</activation-config-property-name> 

                    <activation-config-property-value>30</activation-config-property-value> 

      3.3 pool config inside jboss.xml

      <pool-config>

                  <pool-value>StrictMaxPool</pool-value>

                  <pool-max-size>50</pool-max-size>

                  <pool-timeout>20000</pool-timeout>

              </pool-config>

      3.4 My tx-connection-factory definition contains the <application-managed-security/> according to  https://community.jboss.org/wiki/StrangePoolingConnectionsDestroyed

       

       

      I have a famous problem with "Destroying connection that could not be successfully matched.." 30x, after each batch of processed msgs by the pool of 30 MDBs.

      I've read the WebsphereMQIntegration p 11, but this does not help.

       

      Moreover after some time of testing, which is performed on RHEL 6.3, I've got the OutOfMemory errors, which has an impact on my whole system (bash: fork: retry: Resource temporarily unavailable), which is out of resources, although there is a lot of free memory.

      [jboss@greatserver jboss-5.1.0.GA]$ free
                   total       used       free     shared    buffers     cached
      Mem:      15989476    5219996   10769480          0     230780    2869364
      -/+ buffers/cache:    2119852   13869624
      Swap:     15624184          0   15624184

       

      What I see on the WMQ side is that the JBOSS creates a lot of inactive connections (HSTATE(INACTIVE)) up 91, but in fact is using only one HSTATE(ACTIVE) what is expected in ASF mode.

       

      I've read:

      How to configure EJB3 MDBs for IBM Websphere MQ

      https://community.jboss.org/wiki/JBossJCAPooling?action=e&windowstate=normal&mode=view

      DSdotXML

       

      Any suggestions? My AP is to move to annotations, but no hope it will fix this up.