JMS events are emitted for repository updates, and the machinery for processing the events is defined in eventing.xml.
By default, internal events are filtered by an instance of DefaultFilter that only filters out extraneous events about non-repository resources. There is currently one other filter available, SuppressByMixinFilter, which will filter out events on nodes with the specified mixin types. To configure SuppressByMixinFilter, update eventing.xml to replace the DefaultFilter configuration:
with the SuppressByMixinFilter configuration:
<value> element can be repeated as many times as needed to list all of the mixins that should be suppressed. A full example with all of the required Spring namespaces declared can be found in the test configuration: eventing-suppress.xml.
Custom Event Filters
For more flexibility, you can create your own EventFilter implementation and configure it in the same way. Implementations need to implement the following methods:
getFilter(javax.jcr.Session): used to instantiate the filter
apply(javax.jcr.observation.Event): used to filter events, returning true if an event should be processed and false if it should be ignored