are there any (non-public API) places where internal Camunda events are getting propagated.
Using a small engine plugin, I bridge task and execution events to Spring events (similar to CDI Bridge, but for Spring). So for the task, I’m getting the create/assign/complete/delete life cycle hooks.
In fact, I’m interesting in more, for example delegation or just change of attributes of the task (run a task query, get the task and modify some values…). Is there a way to do so?
The same question applies to process instances, variables, subscriptions…
There is no generic internal event concept that would let you listen to all these things in a cross-cutting way. So you would rather have to look for each type of event how you could hook into the engine at the point the engine performs the corresponding action. For example for delegate invocations, there is a DelegateInterceptor interface, that can be implemented and provided via the engine configuration. Another idea could be using AspectJ for certain things, e.g. for property changes of entities.
edit: A third approach could be extending the engine’s entity cache that accumulates all entities that read and updated during a command. This is very deep into the internals, though.