JBoss 5.1 MDB connection pool and wmq.jmsra.rar creating and immediately destroy connections
laros Apr 16, 2014 1:32 PMHello!
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
Any suggestions? My AP is to move to annotations, but no hope it will fix this up.