List of usage examples for javax.management.remote JMXConnector addConnectionNotificationListener
public void addConnectionNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback);
Adds a listener to be informed of changes in connection status.
From source file:org.zenoss.jmxnl.NotificationListener.java
@SuppressWarnings("unchecked") private void connect() throws IOException { log.info(url + ": Attempting connection (timeout in 180 seconds)"); JMXConnector connector = JMXConnectorFactory.connect(url, environment); connector.addConnectionNotificationListener(this, null, "placeholder"); MBeanServerConnection connection = connector.getMBeanServerConnection(); log.info(url + ": Connected."); sendConnectionEvent("0", "JMX connection has been restored"); Set<ObjectName> results = connection.queryNames(scope, null); java.util.Iterator<ObjectName> iter = results.iterator(); while (iter.hasNext()) { ObjectName objName = (ObjectName) iter.next(); String type = objName.getKeyProperty("type"); if (type == null || !type.equals("alias")) { try { connection.addNotificationListener(objName, this, attributeFilter, zenossDevice); log.debug("Added notification listener: " + objName); } catch (IllegalArgumentException e) { log.debug("Can't listen to " + objName + " because it is not a notification broadcaster."); } catch (InstanceNotFoundException e) { log.debug("Can't listen to " + objName + " because it was not found on the server."); }/*from www . j a v a 2 s. c o m*/ } // There can be a lot of listeners to add. Give other threads a // chance to get work done while this happens. Thread.yield(); } }