Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-1481

Stop actionQueue recursion in working memory

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.0.4
    • Fix Version/s: 4.0.5, 5.0.0.M1
    • Component/s: None
    • Labels:
      None

      Description

      --Efficient Queue--
      1. Change AbstractWorkingMemory.actionQueue to LinkedList and use the
      Queue interface.
      2. AbstractWorkingMemory.executeQueuedActions change it to get the item
      from the queue - rather than the current list.remove( 0 ) which is
      causing a lot of array copies in the ArrayList.

      --Stop Re-entrant queue evaluation--
      1. Add boolean evaluatingActionQueue.
      2. Have the AbstractWorkingMemory.executeQueuedActions method check if
      true, if so then return - i.e. don't evaluate the queue, as we are
      already iterating it.
      3. If not set to true and iterate the queue until empty, before
      executing set back to false.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tirelli Edson Tirelli
                Reporter:
                tirelli Edson Tirelli
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: