glassfish
  1. glassfish
  2. GLASSFISH-17454

ejbRemove is called on MBD when the bean is returned back to the EJBs pool

    Details

      Description

      The problem seems to be in com.sun.ejb.containers.util.pool.NonBlockingPool.returnObject(Object object)
      This method eventually called after message processing. It supposed to return EJB back to the EJBs pool, but instead it destroys it. This is a specification violation. Also it leads to the performance drawback.

        Activity

        Hide
        Cheng Fang added a comment -

        The bean instance is destroyed only if the current pool size is equal to or greater than the max pool size. So it's normal some returning bean instance are destroyed.

        Is it consistent with your observation?

        Show
        Cheng Fang added a comment - The bean instance is destroyed only if the current pool size is equal to or greater than the max pool size. So it's normal some returning bean instance are destroyed. Is it consistent with your observation?
        Hide
        DmitriMelnikov added a comment -

        Actually we found a reason - we had steady-pool-size = max-pool-size for our beans. it causes ejbRemove to be called from returnObject method.

        Show
        DmitriMelnikov added a comment - Actually we found a reason - we had steady-pool-size = max-pool-size for our beans. it causes ejbRemove to be called from returnObject method.

          People

          • Assignee:
            Cheng Fang
            Reporter:
            DmitriMelnikov
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 2 weeks
              2w
              Remaining:
              Remaining Estimate - 2 weeks
              2w
              Logged:
              Time Spent - Not Specified
              Not Specified