public List<PostCommitEventListener> getAsyncPostCommitListeners() { List<PostCommitEventListener> listeners = new ArrayList<PostCommitEventListener>(); for (EventListenerDescriptor desc : getEnabledAsyncPostCommitListenersDescriptors()) { listeners.add(desc.asPostCommitListener()); } return listeners; }
@Override protected boolean processEventBundles(List<EventBundle> bundles) { EventServiceAdmin eventService = Framework.getService(EventServiceAdmin.class);// EventListenerList listeners = eventService.getListenerList(); List<EventListenerDescriptor> postCommitAsync = listeners.getEnabledAsyncPostCommitListenersDescriptors(); // could introduce bulk mode for EventListeners for (EventBundle eventBundle : bundles) { asyncExec.run(postCommitAsync, eventBundle); } return true; }
@Override public void fireEventBundle(EventBundle event) { List<EventListenerDescriptor> postCommitSync = listenerDescriptors.getEnabledSyncPostCommitListenersDescriptors(); List<EventListenerDescriptor> postCommitAsync = listenerDescriptors.getEnabledAsyncPostCommitListenersDescriptors();
@Override public void fireEventBundleSync(EventBundle event) { for (EventListenerDescriptor desc : listenerDescriptors.getEnabledSyncPostCommitListenersDescriptors()) { desc.asPostCommitListener().handleEvent(event); } for (EventListenerDescriptor desc : listenerDescriptors.getEnabledAsyncPostCommitListenersDescriptors()) { desc.asPostCommitListener().handleEvent(event); } }