How to configure EJB timers in RHPAM on Openshift to only fire on a specific node?
Issue
We have multiple kie-server pods running with a shared database. Our process definitions are using timers, and the kie-server instances are configured to use the EJB timer implementation (default setup).
At runtime, we have observed that the timer saved in the DB is triggered randomly on any of the kie-server instances. The timer created by kie-serve-1 can be picked up by kie-server-2. As not all kjars are deployed on all kie-server instances, this can result in an error java.lang.RuntimeException: No scheduler found for app1-kieserver-1.0.0-timerServiceId
when the timer is fired on the wrong node.
How can we ensure that the EJB timers are only fired on a specific node?
Environment
- Red Hat Process Automation Manager
- 7.x
- Openshift installation
- Single DBMS (external to OCP)
- 1 kie-server containing the v1 of a kjar
- 1 kie-server containing the v2 of the same kjar
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.