Package io.meeds.deeds.common.service
Class ListenerService
java.lang.Object
io.meeds.deeds.common.service.ListenerService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final StampedLockstatic final Stringprotected Stringprotected static final List<EventListener<?>>protected static final Map<String,List<EventListener<?>>> static final org.slf4j.Loggerprotected static boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(EventListener<?> listener) Add manually a listener for a dedicated event.voidAn INTERNAL method that is used to be triggered periodically through the Scheduled TaskListenerEventCleanupTask.voidpublishEvent(String eventName, Object data) Triggers an event locally and remotely using persistent event listening based on a dedicated Elasticsearch index to persist the event and generates a unique identifier for it.voidremoveListsner(String listenerName) Removes allEventListenerthat haveEventListener.getName()the designated name in paramvoidremoveListsner(String eventName, String listenerName) Removes allEventListenerthat haveEventListener.getName()the designated name in param and aEventListener.getSupportedEvents()as designated in param namevoidAn INTERNAL method that is used to be triggered periodically through the Scheduled TaskListenerEventTriggerTask.
-
Field Details
-
ES_LAST_SCANNED_DATE_SETTING_NAME
- See Also:
-
LOG
public static final org.slf4j.Logger LOG -
EVENT_LISTENERS
-
LISTENERS
-
ELASTIC_SEARCH_EVENT_READING_LOCK
-
persistentFeatureEnabled
protected static boolean persistentFeatureEnabled -
esClientName
-
-
Constructor Details
-
ListenerService
public ListenerService()
-
-
Method Details
-
publishEvent
Triggers an event locally and remotely using persistent event listening based on a dedicated Elasticsearch index to persist the event and generates a unique identifier for it. A Scheduled JobListenerEventTriggerTaskon each consumer will retrieve events periodically.- Parameters:
eventName- Event Name as configured for listeners inEventListener.getSupportedEvents()data- Data Object to pass to listeners when executingEventListener.onEvent(String, Object)
-
addListener
Add manually a listener for a dedicated event. This method is useless in general case since the listeners are added automatically when defined as any regular Spring BeanComponentand that it inherits fromEventListener- Parameters:
listener- localEventListener
-
removeListsner
Removes allEventListenerthat haveEventListener.getName()the designated name in param- Parameters:
listenerName- name of listeners to remove
-
removeListsner
Removes allEventListenerthat haveEventListener.getName()the designated name in param and aEventListener.getSupportedEvents()as designated in param name- Parameters:
eventName-EventListener.getSupportedEvents()event namelistenerName-EventListener.getName()name
-
triggerElasticSearchEvents
public void triggerElasticSearchEvents()An INTERNAL method that is used to be triggered periodically through the Scheduled TaskListenerEventTriggerTask. In general case, this must not be used outside this provided Task. -
cleanupElasticsearchEvents
public void cleanupElasticsearchEvents()An INTERNAL method that is used to be triggered periodically through the Scheduled TaskListenerEventCleanupTask. In general case, this must not be used outside this provided Scheduled Task. This cleanup will be triggered on one single instance which has made a configuration of its periodicity, which is by default, the dApp only.
-