Hi,

We've now set up sling/jackrabbit with x instances in a cluster talking to the same mysql database (which will also be clustered later on). This seem to work ok in general.

However our application requires some processing of events when nodes in the repository changes - this processing will in turn perform other changes in the repository. This should just be done by one node (the "local" node that triggered the event).

Sadly, the jcr Event interface does not have any method to determine if an event is local or external - but it seems the Jackrabbit implementation (org.apache.jackrabbit.core.observation.EventImpl) does.

Checking the instance of Event captured by our EventListener confirms that it is of this implementation. But performing a cast to EventImpl fails with a ClassCastException "no class def found". This is probably due to the ClassLoader of our bundle not having access to the org.apache.jackrabbit.core.observation package and no other bundles exporting this package.

Is my understanding of the problem correct? And if so, is there any other way than to include the jackrabbit jar file to our bundle to get the system to cast Event to EventImpl?


--
==================

Erik Buene
Senior Developer
Idium AS

Reply via email to