public List<PostCommitEventListener> getSyncPostCommitListeners() { List<PostCommitEventListener> listeners = new ArrayList<PostCommitEventListener>(); for (EventListenerDescriptor desc : getEnabledSyncPostCommitListenersDescriptors()) { listeners.add(desc.asPostCommitListener()); } return listeners; }
public List<PostCommitEventListener> getAsyncPostCommitListeners() { List<PostCommitEventListener> listeners = new ArrayList<PostCommitEventListener>(); for (EventListenerDescriptor desc : getEnabledAsyncPostCommitListenersDescriptors()) { listeners.add(desc.asPostCommitListener()); } return listeners; }
@Override public void fireEventBundleSync(EventBundle event) { for (EventListenerDescriptor desc : listenerDescriptors.getEnabledSyncPostCommitListenersDescriptors()) { desc.asPostCommitListener().handleEvent(event); } for (EventListenerDescriptor desc : listenerDescriptors.getEnabledAsyncPostCommitListenersDescriptors()) { desc.asPostCommitListener().handleEvent(event); } }
@Override public void work() { EventService eventService = Framework.getService(EventService.class); listener = eventService.getEventListener(listenerName); if (listener == null) { throw new RuntimeException("Cannot find listener: " + listenerName); } listener.asPostCommitListener().handleEvent(bundle); }
/** * Checks if there's at least one event of interest in the bundle. * * @since 5.7 */ public boolean acceptBundle(EventBundle bundle) { for (Event event : bundle) { if (!acceptEvent(event.getName())) { continue; } PostCommitEventListener pcl = asPostCommitListener(); if (pcl instanceof PostCommitFilteringEventListener && !((PostCommitFilteringEventListener) pcl).acceptEvent(event)) { continue; } return true; } return false; }
try { listener.asPostCommitListener().handleEvent(filtered);
reconnected = new ReconnectedEventBundleImpl(filtered, listeners.toString()); listener.asPostCommitListener().handleEvent(reconnected);
/** * Filters the event bundle to only keep events of interest to this listener. * * @since 5.7 */ public EventBundle filterBundle(EventBundle bundle) { EventBundle filtered = new EventBundleImpl(); for (Event event : bundle) { if (!acceptEvent(event.getName())) { continue; } PostCommitEventListener pcl = asPostCommitListener(); if (pcl instanceof PostCommitFilteringEventListener && !((PostCommitFilteringEventListener) pcl).acceptEvent(event)) { continue; } filtered.push(event); } return filtered; }