maxSession and MDB pool size in JBoss EAP 7.x
Issue
-
When increasing the size of the maxSession attribute on a MDB it is important to make sure that the value of maxSession is not greater than the value of max-pool-size in the MDB pool size. If it is the case, there will be idle sessions since there will not be enough MDBs to service them.
<pools> <bean-instance-pools> <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> </bean-instance-pools> </pools>
Starting with JBoss EAP 7 setting the MDB pool size is not always enough. The algorithm that calculates the number of threads that are allocated to MDB pool is 4 * cpu_cores. This may result in insufficient number of threads to be allocated to service the MDB pool.
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 7.X
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.