Class NotificatorService
- java.lang.Object
-
- org.apache.cxf.ws.eventing.backend.notification.NotificatorService
-
- Direct Known Subclasses:
EventSinkInterfaceNotificatorService
public abstract class NotificatorService extends Object
The service which takes care of notifying subscribers about events. Has access to the subscription database. Receives events from compliant Emitters, eg. EmitterServlet / EmitterMBean,.. Don't forget to use the 'stop' method, especially if running inside a servlet container!! Suggested approach for a web container is to instantiate this class in a ServletContextListener and then have it stopped using the same listener. If you don't call 'stop' upon undeployment, the underlying ExecutorService will not be shut down, leaking resources.
-
-
Field Summary
Fields Modifier and Type Field Description static intCORE_POOL_SIZEprotected static LoggerLOGprotected ExecutorServiceservice
-
Constructor Summary
Constructors Constructor Description NotificatorService()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voiddispatchEvent(Object event)protected abstract SubscriptionManagerInterfaceForNotificatorsobtainManager()voidstart()Starts this NotificatorService.voidstop()Shuts down the NotificatorService.protected abstract voidsubmitNotificationTask(SubscriptionTicket ticket, Object event)voidsubscriptionEnd(SubscriptionTicket ticket, String reason, SubscriptionEndStatus status)
-
-
-
Field Detail
-
CORE_POOL_SIZE
public static final int CORE_POOL_SIZE
- See Also:
- Constant Field Values
-
LOG
protected static final Logger LOG
-
service
protected ExecutorService service
-
-
Method Detail
-
obtainManager
protected abstract SubscriptionManagerInterfaceForNotificators obtainManager()
-
dispatchEvent
public void dispatchEvent(Object event)
-
submitNotificationTask
protected abstract void submitNotificationTask(SubscriptionTicket ticket, Object event)
-
subscriptionEnd
public void subscriptionEnd(SubscriptionTicket ticket, String reason, SubscriptionEndStatus status)
-
start
public void start()
Starts this NotificatorService. You MUST run this method on every instance before starting to pass any events to it. Run it only once.
-
stop
public void stop()
Shuts down the NotificatorService. This method is a MUST if you are running it inside a servlet container, because it will shutdown the underlying ExecutorService.
-
-