in src/main/java/org/apache/sling/commons/scheduler/impl/TopologyHandler.java [58:73]
public void handleTopologyEvent(final TopologyEvent event) {
if ( event.getType() == Type.TOPOLOGY_INIT || event.getType() == Type.TOPOLOGY_CHANGED ) {
final List<String> ids = new ArrayList<>();
for(final InstanceDescription desc : event.getNewView().getInstances()) {
ids.add(desc.getSlingId());
}
Collections.sort(ids);
QuartzJobExecutor.IS_LEADER.set(event.getNewView().getLocalInstance().isLeader());
QuartzJobExecutor.DISCOVERY_INFO_AVAILABLE.set(true);
QuartzJobExecutor.SLING_IDS.set(ids.toArray(new String[ids.size()]));
} else if ( event.getType() == Type.TOPOLOGY_CHANGING ) {
QuartzJobExecutor.IS_LEADER.set(false);
QuartzJobExecutor.DISCOVERY_INFO_AVAILABLE.set(false);
QuartzJobExecutor.SLING_IDS.set(null);
}
}