I'd like to do some work triggered by Camunda process instance state changes and as such have written a Spring annotation-driven event listener for Camunda.
I've packaged it into a JAR file: code and pom.xml are on Gist here.
I've written a Dockerfile that extends camunda/camunda-bpm-platform:run-7.14.0 and am poking the resulting JAR into /camunda/configuration/userlib.
This is definitely in the Spring boot loader path, according to ps:
10 camunda 0:31 java -Dloader.path=/camunda/internal/webapps/,/camunda/internal/rest/,/camunda/configuration/userlib/,/camunda/configuration/keystore/ -Dcamunda.deploymentDir=/camunda/configuration/resources -jar /camunda/internal/camunda-bpm-run-core.jar --spring.config.location=file:/camunda/configuration/default.yml
Inspecting the log, Camunda is definitely firing up Spring eventing:
o.c.b.s.b.s.event.EventPublisherPlugin : EVENTING-001: Initialized Camunda Spring Boot Eventing Engine Plugin.
o.c.b.s.b.s.event.EventPublisherPlugin : EVENTING-003: Task events will be published as Spring Events.
o.c.b.s.b.s.event.EventPublisherPlugin : EVENTING-005: Execution events will be published as Spring Events.
o.c.b.s.b.s.event.EventPublisherPlugin : EVENTING-007: History events will be published as Spring events.
But I am seeing none of my log messages.
This leads me to suspect that simply dropping a JAR on the loader isn't quite enough for Spring Boot to find the listener - but I don't know what else I'm missing.
Any help would be much appreciated. Thanks!