[
http://jira.nuxeo.org/browse/NXP-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thierry Delprat resolved NXP-2849.
----------------------------------
Resolution: Fixed
> Improve Events API
> ------------------
>
> Key: NXP-2849
> URL: http://jira.nuxeo.org/browse/NXP-2849
> Project: Nuxeo Enterprise Platform
> Issue Type: User story
> Reporter: Thierry Delprat
> Assignee: Thierry Delprat
> Fix For: 5.2 M4
>
>
> The Dev Story :
> =========
> Messages :
> ---------------
> I want to easily send a message into the Nuxeo message bus.
> For creating a message, I want to have only one class envelop (not 3!).
> This message should be able to store :
> - automatically set
> - user
> - date
> - set manually
> - an event id
> - an optional source document location (repo/ref)
> - an optional comment
> - customizable
> - a HashMap
> Producing :
> --------------
> Message producing should be transactionnal when possible (JMS):
> => if I produce a message in a method that fails and make the transaction
> rollback , the message should not be sent
> (true for a deployement in JEE container)
> Message producer should be a simple static helper.
> It should be easy to use this producer to send my message on a custom Topic
> or on a custom Queue.
> Audit :
> --------
> These messages should be easily pluggable into Audit system (see XXX).
> Listening to events :
> --------------------------
> For async listeners, I would like to be able to reuse a base class that does
> the dirty work :
> - plug into JMS to get the message
> - opens a JAAS session
> - opens a JTA transaction if needed
> - open a CoreSession
> This base class should be avalaible in 2 flavors :
> - MDB base class
> - plain JMS Listener base class
> Core Events :
> -----------------
> CoreEvents should be bridged to JMS.
> This bridge should :
> - be transactional : don't send me event tied to uncomited documents
> - remove duplicated messages withing a given transaction: create + modify +
> modify = create
> Design notes :
> ========
> MDB, JMS and clustering :
> ---------------------------------
> Current, async message processing in handled by dedicated MDB.
> We should probably only have one MDB that dispatch events to Nuxeo Event
> Handlers :l
> - this would make deployment in non JEE/JMS environment possible
> - this would allow to easily handle custering for MDB (ie : desactivate one
> note for example)
> Sync vs Async :
> --------------------
> We should have only 2 types of handlers :
> - onEvent :
> - always synchonous
> - can interact with currently modified doc
> = current CoreListener model
> - onEventAfter :
> - sync or async depending on deployment options
> - triggered after commit
> = current MDB/JMS model
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets