SLSB pooling statistics are hugely misleading when using default ThreadLocalPool:
"The default pooling strategy used by EJB3 SLSBs is a ThreadLocalPool whose maximum is not really
quantifiable. The maximum is the maximum number of concurrent threads talking to that EJB3 SLSB
that the system can allocate. So, the MaxSize that you see in that JMX view is bogus at least for its
current definition of maximum.
MaxSize - AvailableCount will give you the number of EJB3 SLSBs currently in use, in your case, 0. Again,
the meaning of AvailableCount for this pool strategy is not precise.
CreateCount does represent the number of EJB3 SLSBs that have been created.
CurrentSize is a bit more complicated to explain. For each thread that uses an EJB3 SLSBs, thread local
pool maintains a pool per each thread where there's an instance active in case it's needed again. So,
CurrentSize indicates how many of these active instances there are, which assuming that each thread
uses only one instance of the bean, matches the number of instances that have been created."
Example:
AvailableCount int R 30 MBean Attribute.
MaxSize int R 30 MBean Attribute.
StateString java.lang.String R Started MBean Attribute.
State int R 3 MBean Attribute.
CurrentSize int R 165 MBean Attribute.
CreateCount int R 165 MBean Attribute.
RemoveCount int R 0 MBean Attribute.
- is incorporated by
-
JBPAPP-1662 EJBTHREE-1703 - SLSB pooling statistics misleading when using ThreadLocalPool
- Closed
- is related to
-
JBPAPP-2326 Upgrade EJB3 to 1.1.11
- Resolved