Hi Noah,

Jackrabbit's implementation of javax.jcr.observation.Event, namely

 org.apache.jackrabbit.core.observation.EventImpl

has a public method called "isExternal()" that will return "true" if
your EventListener is registered in the "active" cluster node, i.e.
the one making the change, and "false" for all the passive ones. May
be that helps?

Apart from that, it is currently not possible to register a
"deliver-exactly-once" EventListener in a cluster.

Kind regards
Dominique

On 3/6/07, Noah Vihinen <[EMAIL PROTECTED]> wrote:
Suppose I would like to construct an EventListener that makes some
persistent change to the repository as a result of some type of node
being added.  For example, the event listener may create a new node
of a different type, or set some properties.  How do I ensure that
only one JCR server within the cluster processes the NODE_ADDED
event, so the resultant persistent change only happens once?

Is the only solution to add logic to my event listener to determine
whether or not it should proceed with the persistent change?
Further, if this is the case, are there any plans to make event
handling more efficient in the future, so only one node in the
cluster will receive notification of a particular event?

Thanks,
Noah

Reply via email to