JMXConnectorpublic interface JMXConnector The client end of a JMX API connector. An object of this type can
be used to establish a connection to a connector server.
A newly-created object of this type is unconnected. Its {@link
#connect connect} method must be called before it can be used.
However, objects created by {@link
JMXConnectorFactory#connect(JMXServiceURL, Map)
JMXConnectorFactory.connect} are already connected. |
Fields Summary |
---|
public static final String | CREDENTIALS Name of the attribute that specifies the credentials to send
to the connector server during connection. The value
associated with this attribute, if any, is a serializable
object of an appropriate type for the server's {@link
JMXAuthenticator}. |
Methods Summary |
---|
public void | addConnectionNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)Adds a listener to be informed of changes in connection
status. The listener will receive notifications of type {@link
JMXConnectionNotification}. An implementation can send other
types of notifications too.
Any number of listeners can be added with this method. The
same listener can be added more than once with the same or
different values for the filter and handback. There is no
special treatment of a duplicate entry. For example, if a
listener is registered twice with no filter, then its
handleNotification method will be called twice for
each notification.
| public void | close()Closes the client connection to its server. Any ongoing or new
request using the MBeanServerConnection returned by {@link
#getMBeanServerConnection()} will get an
IOException .
If close has already been called successfully
on this object, calling it again has no effect. If
close has never been called, or if it was called
but produced an exception, an attempt will be made to close the
connection. This attempt can succeed, in which case
close will return normally, or it can generate an
exception.
Closing a connection is a potentially slow operation. For
example, if the server has crashed, the close operation might
have to wait for a network protocol timeout. Callers that do
not want to block in a close operation should do it in a
separate thread.
| public void | connect()Establishes the connection to the connector server. This
method is equivalent to {@link #connect(Map)
connect(null)}.
| public void | connect(java.util.Map env)Establishes the connection to the connector server.
If connect has already been called successfully
on this object, calling it again has no effect. If, however,
{@link #close} was called after connect , the new
connect will throw an IOException .
Otherwise, either connect has never been called
on this object, or it has been called but produced an
exception. Then calling connect will attempt to
establish a connection to the connector server.
| public java.lang.String | getConnectionId()Gets this connection's ID from the connector server. For a
given connector server, every connection will have a unique id
which does not change during the lifetime of the
connection.
| public javax.management.MBeanServerConnection | getMBeanServerConnection()Returns an MBeanServerConnection object
representing a remote MBean server. For a given
JMXConnector , two successful calls to this method
will usually return the same MBeanServerConnection
object, though this is not required.
For each method in the returned
MBeanServerConnection , calling the method causes
the corresponding method to be called in the remote MBean
server. The value returned by the MBean server method is the
value returned to the client. If the MBean server method
produces an Exception , the same
Exception is seen by the client. If the MBean
server method, or the attempt to call it, produces an
Error , the Error is wrapped in a
{@link JMXServerErrorException}, which is seen by the
client.
Calling this method is equivalent to calling
{@link #getMBeanServerConnection(Subject) getMBeanServerConnection(null)}
meaning that no delegation subject is specified and that all the
operations called on the MBeanServerConnection must
use the authenticated subject, if any.
| public javax.management.MBeanServerConnection | getMBeanServerConnection(javax.security.auth.Subject delegationSubject)Returns an MBeanServerConnection object representing
a remote MBean server on which operations are performed on behalf of
the supplied delegation subject. For a given JMXConnector
and Subject , two successful calls to this method will
usually return the same MBeanServerConnection object,
though this is not required.
For each method in the returned
MBeanServerConnection , calling the method causes
the corresponding method to be called in the remote MBean
server on behalf of the given delegation subject instead of the
authenticated subject. The value returned by the MBean server
method is the value returned to the client. If the MBean server
method produces an Exception , the same
Exception is seen by the client. If the MBean
server method, or the attempt to call it, produces an
Error , the Error is wrapped in a
{@link JMXServerErrorException}, which is seen by the
client.
| public void | removeConnectionNotificationListener(javax.management.NotificationListener listener)Removes a listener from the list to be informed of changes
in status. The listener must previously have been added. If
there is more than one matching listener, all are removed.
| public void | removeConnectionNotificationListener(javax.management.NotificationListener l, javax.management.NotificationFilter f, java.lang.Object handback)Removes a listener from the list to be informed of changes
in status. The listener must previously have been added with
the same three parameters. If there is more than one matching
listener, only one is removed.
|
|