maxSession and MDB pool size in JBoss EAP 7.x

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In