I recently build a generic eventing mechanism as an engine plugin:
https://github.com/jangalinski/camunda-bpm-reactorI proposed to accept this as a community extension, but its still pending.
The plugin registers execution and tasklisteners for all possible events on all possible elements and notifies an eventbus (from
projectreactor.io). You can then choose to listen to all events or filter by type, eventType, process and activity . This example registers a listener to all task-create events:
@CamundaSelector(type = "userTask", event = TaskListener.EVENTNAME_CREATE)
public class TaskCreateListener extends SubscriberTaskListener {
public TaskCreateListener(EventBus eventBus) {
register(eventBus);
}
@Override
public void notify(DelegateTask delegateTask) {
...
}
}
If this is something you are interested in, please give it a try, I am interested in feedback.