aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Cabrera (JIRA)" <j...@apache.org>
Subject [jira] Updated: (ARIES-12) BlueprintListener events are not delivered synchronously and bad/tardy listeners are not ignored
Date Fri, 02 Oct 2009 13:42:23 GMT

     [ https://issues.apache.org/jira/browse/ARIES-12?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Alan Cabrera updated ARIES-12:
------------------------------

    Description: 
The spec states that the events must be delivered synchronously. "These events are send synchronously
with their cause. That is, all listeners must be notified before the Blueprint Container continues
to the next step." So we must not use a thread pool to deliver.

It also states "Blueprint Listener services that throw Exceptions or do not return in a reasonable
time as judged by the Blueprint extender implementation, should be logged, if possible, and
further ignored." We don't do this.


  was:Section 121.12 of the blueprint specification has a requirement that blueprint events
be delivered to BlueprintListener.blueprintEvent() methods.  However, the implementation of
the event dispatcher submits the callbacks for each event to an executor for processing, leading
to race conditions where events can be delivered out of order.  These events really should
be placed on a queue and all callbacks completely processed in order. 


> BlueprintListener events are not delivered synchronously and bad/tardy listeners are
not ignored
> ------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-12
>                 URL: https://issues.apache.org/jira/browse/ARIES-12
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Rick McGuire
>            Assignee: Alan Cabrera
>
> The spec states that the events must be delivered synchronously. "These events are send
synchronously with their cause. That is, all listeners must be notified before the Blueprint
Container continues to the next step." So we must not use a thread pool to deliver.
> It also states "Blueprint Listener services that throw Exceptions or do not return in
a reasonable time as judged by the Blueprint extender implementation, should be logged, if
possible, and further ignored." We don't do this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message