I have a WebSphere ND 9.0.5.13 install, running across two nodes.
Each node has two servers (JVMs), running two different java applications; both of which use @Schedule
annotations. The JVM on Node 1 and Node 2 for each application are in a cluster for that applciation.
In WebSphere, therefore, I have configured schedulers under Resources -> Schedulers, at cluster scope, connected to an Oracle database (same database, different schema per scheduler), using separate work managers that are also cluster scoped.
After creating the schedulers, the tables populate as I would expect - the scheduler for each application has a lease owner associated with one of the correct Servers (JVMs) for that application.
If, however, I stop the JVMs for one of the servers, the lease owner then changes to be the server for the other application - and doesn't swap back when I start them up again. This means that events fire on a server which has nothing listening, and the events don't trigger on the correct application at all.
How can I pin the schedulers to the correct scope, so they don't try and run in the wrong place?
Turns out something hadn't refreshed within WAS. I came back to this the next day and it was acting as expected.