It will execute every page related event but we can filter page creation events from page modifications object but the real problem it will listen to all the pages. We have nearly 5000+pages in prod. If that is the case it will trigger on every page related events. Is there any possibility to listen events in certain paths with jcr event listener. If it is possible then I will use jcr event listener.
Is there any possibility to listen events in certain paths with jcr event listener. If it is possible then I will use jcr event listener. Yes, you can
public void addEventListener(EventListener listener,
int eventTypes,
java.lang.String absPath,
boolean isDeep,
java.lang.String[] uuid,
java.lang.String[] nodeTypeName,
boolean noLocal)
throws RepositoryException
Adds an event listener that listens for the specified eventTypes (a combination of one or more event types encoded as a bit mask value).
The set of events can be filtered by specifying restrictions based on characteristics of the node associated with the event. In the case of event types NODE_ADDED and NODE_REMOVED, the node associated with an event is the node at (or formerly at) the path returned by Event.getPath. In the case of event types PROPERTY_ADDED, PROPERTY_REMOVED and PROPERTY_CHANGED, the node associated with an event is the parent node of the property at (or formerly at) the path returned by Event.getPath:
absPath, isDeep: Only events whose associated node is at absPath (or within its subtree, if isDeep is true) will be received. It is permissible to register a listener for a path where no node currently exists.
uuid: Only events whose associated node has one of the UUIDs in this list will be received. If his parameter is null then no UUID-related restriction is placed on events received.
nodeTypeName: Only events whose associated node has one of the node types (or a subtype of one of the node types) in this list will be received. If his parameter is null then no node type-related restriction is placed on events received.
The restrictions are "ANDed" together. In other words, for a particular node to be "listened to" it must meet all the restrictions.
Additionally, if noLocal is true, then events generated by the session through which the listener was registered are ignored. Otherwise, they are not ignored.
The filters of an already-registered EventListener can be changed at runtime by re-registering the same EventListener object (i.e. the same actual Java object) with a new set of filter arguments. The implementation must ensure that no events are lost during the changeover.
- Parameters:
listener - an EventListener object.
eventTypes - A combination of one or more event type constants encoded as a bitmask.
absPath - an absolute path.
isDeep - a boolean.
uuid - array of UUIDs.
nodeTypeName - array of node type names.
noLocal - a boolean.
- Throws:
RepositoryException - If an error occurs.