[jboss-jira] [JBoss JIRA] Updated: (JBRULES-1268) Activation.remove() is removing the WRONG activation when used in events
Michael Neale (JIRA)
jira-events at lists.jboss.org
Thu Oct 11 03:17:03 EDT 2007
[ http://jira.jboss.com/jira/browse/JBRULES-1268?page=all ]
Michael Neale updated JBRULES-1268:
-----------------------------------
Summary: Activation.remove() is removing the WRONG activation when used in events (was: Activation.remove() is removing the WRONG activation)
> Activation.remove() is removing the WRONG activation when used in events
> ------------------------------------------------------------------------
>
> 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
> Priority: Critical
> 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