jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jukka Zitting <jukka.zitt...@gmail.com>
Subject Re: using Asynchronous listener
Date Wed, 03 Aug 2011 18:43:22 GMT

On Wed, Aug 3, 2011 at 6:29 PM, mmjose26 <mmjose26@yahoo.com.mx> wrote:
> Hi! I'm trying to implement some logic after of add some nodes to repository.
> I'm using asynchronous listener, and for each node of type X, the listener
> do version on it.
> I'm using transactional scenario, and all happen on commit. Almost always,
> the commit invalidate the session  just before that the listener be notified
> at all.  and the listener is not called.

Are you using the same session for both the listener and the
transaction? It's generally a good idea to use a separate long-lived
session for any event listeners you have.

Also, note that using the listener session for anything during the
onEvent() call is a bad practice, as you can't easily prevent
concurrent use of the session. Instead, if you need to do something
like create a new version in an event handler, I recommend either
using a task queue and a background worker thread (with its own
separate session) or launching a fresh new session for each new event
that needs repository writes.


Jukka Zitting

View raw message