We can leverage "isExternal()" in the short-term. Are there any
plans in place to implement the "deliver-exactly-once"
functionality? Most use-cases I can think of for JCR observation
(other than JCR implementation internals such as cluster node cache
synchronization) would work more efficiently with the "deliver-
exactly-once" functionality.
Thanks,
Noah
On Mar 7, 2007, at 1:46 AM, Dominique Pfister wrote:
Hi again,
Sorry, I made a mistake: of course, isExternal() returns "true" for
all but one cluster node, namely the active one.
Kind regards
Dominique
On 3/7/07, Dominique Pfister <[EMAIL PROTECTED]> wrote:
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
>