I'm running a clustered instance of Quartz in the context of a Java EE application. One of the nodes (selected randomly) in the Java EE application will fire a series of Quartz jobs to be executed immediately (as explained in this post); right before triggering each job, a JobListener associated to that job is added to the scheduler's ListenerManager.
If I understand Quartz's inner working correctly, the node that actually executes each job will be selected at random from the available nodes. If that's the case, how can the listener's methods be called if the listener was created in a node different from the one that executed the job? Can I assume that the list of listeners in ListenerManager is global and the same for all the nodes in the cluster? Or each node has its own ListManager with its own listeners?