Uploaded image for project: 'OpenEJB'
  1. OpenEJB
  2. OPENEJB-1119

OutOfMemoryError when creating many one time timers in timed session ejb

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 3.0.1
    • None
    • None
    • None
    • x86, Windows XP SP3 32bit, WASCE 2.1.1.2, IBM SDK 60 32bit bundled with WASCE

    Description

      Example: Create a timed session bean with a one time (single-action) timer - in a finally block of the ejbTimeout method recreate timer with same info serializable and interval. So this construct represents my scheduled interval job for doing some task again and again.

      When calling the sessioncontext.getTimerService().getTimers().size() always 1 is returned.

      My profiler tells me, with every sessioncontext.getTimerService().createTimer(interval, info) method call, some OpenEJB objects like:

      org.apache.openejb.core.timer.TimerData
      org.apache.openejb.core.timer.TimerData$TimerDataSynchronization
      org.apache.openejb.core.timer.TimerImpl
      org.apache.geronimo.transaction.manager.XidImpl

      and some more (about 20 classes) are created and never removed.

      This finally leads to an OutOfMemoryError.
      When defining ejbTimeout method TX NotSupported than I couldn't reproduce this issue.

      Hope this helps, greetings

      Attachments

        1. screenshot-1.jpg
          200 kB
          Stefan Brunnauer

        Activity

          People

            Unassigned Unassigned
            steff74 Stefan Brunnauer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: