There is an implementation of com.ibm.websphere.event.EventEngine provided in the Liberty runtime. To use this service, you just need to obtain a service reference from the OSGi Service Registry.
To use this service in a DS-managed bundle, do the following:
Synchronous events are accessible through the EventEngine's sendEvent methods. The event is handled on the current thread and processed immediately. The methods do not return to the caller until after the event has finished processing. If the event is being handled synchronously, the event object's isDone and isCancelled methods are not applicable and will return default values.
Asynchronous events are accessible through the EventEngine's postEvent methods. The event is handled on a new thread and the method returns to the caller before delivery of the event is completed. If the event is being handled asynchronously, the event object's isDone and isCancelled methods are applicable.
The ScheduledEventService is based on the java.util.concurrent.ScheduledExecutorService library; however, it spins off asynchronous events on the scheduled items. The service provides APIs to schedule one time or repeating events, with an event topic and optional event properties. The event firing separates this in usage from the threading bundle providing the above service for scheduled runnables. A ScheduledFuture object is returned from the schedule APIs to allow canceling of repeating events.