[jboss-jira] [JBoss JIRA] Created: (JBRULES-1268) Activation.remove() is removing the WRONG activation

Michael Neale (JIRA) jira-events at lists.jboss.org
Thu Oct 11 03:10:14 EDT 2007


Activation.remove() is removing the WRONG activation
----------------------------------------------------

                 Key: JBRULES-1268
                 URL: http://jira.jboss.com/jira/browse/JBRULES-1268
             Project: JBoss Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Reteoo
    Affects Versions: 4.0.2
            Reporter: Michael Neale
         Assigned To: Mark Proctor
             Fix For: 4.1.0


Check out FIXME_testActivationCancellation in MiscTest.java.

It shows how a call to activation.remove() for a given rule (in an event) actually removed the wrong rule.

The reason for this is that fireNextItem in DefaultAgenda uses BinaryHeapQueueAgendaGroup.getNext().

This poorly named "getNext()" actually calls dequeue on the queue, so when the event is called, the activation has ALREADY been dequeued. 
Not sure of best solution, other then a queue "peek()" and then dequeue() to be called after then event is fired (if it wasn't called already). 



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list