MBeanServerConnection connection = connector.getMBeanServerConnection();
// test connection
ObjectName mBName = new ObjectName("quartz:type=QuartzScheduler,*");
Set<ObjectName> names = connection.queryNames(mBName, null);
QuartzInstance quartzInstance = new QuartzInstance(config);
quartzInstance.setMBeanServerConnection(connection);
quartzInstance.setJmxConnector(connector);
// build scheduler list
List<Scheduler> schList = new ArrayList<Scheduler>();
for (ObjectName objectName : names) // for each scheduler.
{
QuartzJMXAdapter jmxAdapter = QuartzJMXAdapterFactory.initQuartzJMXAdapter(objectName, connection);
quartzInstance.setJmxAdapter(jmxAdapter);
Scheduler scheduler = jmxAdapter.populateScheduler(quartzInstance, objectName);
schList.add(scheduler);
// attach listener
Listener listener = new Listener();
listener.setUUID(scheduler.getUuidInstance());
connection.addNotificationListener(objectName, listener, null, null);
log.info("added listener " + objectName.getCanonicalName());
QuartzInstance.putListener(listener);
}
quartzInstance.setSchedulerList(schList);
return quartzInstance;
}