jdk/src/share/classes/javax/management/event/EventClient.java
changeset 1156 bbc2d15aaf7a
parent 1004 5ba8217eb504
child 1229 8d219f46ab69
--- a/jdk/src/share/classes/javax/management/event/EventClient.java	Wed Sep 03 14:31:17 2008 +0200
+++ b/jdk/src/share/classes/javax/management/event/EventClient.java	Thu Sep 04 14:46:36 2008 +0200
@@ -29,6 +29,7 @@
 import com.sun.jmx.event.LeaseRenewer;
 import com.sun.jmx.event.ReceiverBuffer;
 import com.sun.jmx.event.RepeatedSingletonJob;
+import com.sun.jmx.namespace.JMXNamespaceUtils;
 import com.sun.jmx.mbeanserver.PerThreadGroupPool;
 import com.sun.jmx.remote.util.ClassLogger;
 
@@ -1063,6 +1064,24 @@
         return clientId;
     }
 
+    /**
+     * Returns a JMX Connector that will use an {@link EventClient}
+     * to subscribe for notifications. If the server doesn't have
+     * an {@link EventClientDelegateMBean}, then the connector will
+     * use the legacy notification mechanism instead.
+     *
+     * @param wrapped The underlying JMX Connector wrapped by the returned
+     *               connector.
+     *
+     * @return A JMX Connector that will uses an {@link EventClient}, if
+     *         available.
+     *
+     * @see EventClient#getEventClientConnection(MBeanServerConnection)
+     */
+    public static JMXConnector withEventClient(final JMXConnector wrapped) {
+        return JMXNamespaceUtils.withEventClient(wrapped);
+    }
+
     private static final PerThreadGroupPool<ScheduledThreadPoolExecutor>
             leaseRenewerThreadPool = PerThreadGroupPool.make();
 }