Uploaded image for project: 'EJB 3.0'
  1. EJB 3.0
  2. EJBTHREE-1703

SLSB pooling statistics misleading when using ThreadLocalPool

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 1.1.11
    • AS 4.2.3.GA, 1.0.0-GA
    • pool

      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.

              rhn-engineering-cdewolf Carlo de Wolf
              rh-ee-galder Galder ZamarreƱo
              Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: