| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
JMXServiceURL url = …;
HashMap env = …;
MBeanServer mbs = …;
JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbs);
Based on 18 examples
public abstract class JMXConnectorServer extends NotificationBroadcasterSupport implements JMXConnectorServerMBean, MBeanRegistration, JMXAddressable
Superclass of every connector server. A connector server is attached to an MBean server. It listens for client connection requests and creates a connection for each one.
A connector server is associated with an MBean server either by registering it in that MBean server, or by passing the MBean server to its constructor.
A connector server is inactive when created. It only starts listening for client connections when the {@link #start() start} method is called. A connector server stops listening for client connections when the {@link #stop() stop} method is called or when the connector server is unregistered from its MBean server.
Stopping a connector server does not unregister it from its MBean server. A connector server once stopped cannot be restarted.
Each time a client connection is made or broken, a notification of class {@link JMXConnectionNotification} is emitted.
Field Summary | |
---|---|
static String |
AUTHENTICATOR
Name of the attribute that specifies the authenticator for a connector server. |
Constructor Summary | |
---|---|
Constructs a connector server that will be registered as an MBean in the MBean server it is attached to. |
|
JMXConnectorServer(MBeanServer mbeanServer) Constructs a connector server that is attached to the given MBean server. |
Method Summary | |
---|---|
protected void |
connectionClosed(String connectionId, String message, Object userData) Called by a subclass when a client connection is closed normally. |
protected void |
connectionFailed(String connectionId, String message, Object userData) Called by a subclass when a client connection fails. |
protected void |
connectionOpened(String connectionId, String message, Object userData) Called by a subclass when a new client connection is opened. |
String[] |
|
MBeanServer |
Returns the MBean server that this connector server is attached to. |
MBeanNotificationInfo[] |
Returns an array indicating the notifications that this MBean sends. |
void |
|
void |
postRegister(Boolean registrationDone) |
void |
Called by an MBean server when this connector server is unregistered from that MBean server. |
ObjectName |
preRegister(MBeanServer mbs, ObjectName name) Called by an MBean server when this connector server is registered in that MBean server. |
void |
|
JMXConnector |
toJMXConnector(Map env) Returns a client stub for this connector server. |
Methods inherited from class javax.management.NotificationBroadcasterSupport |
---|
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String AUTHENTICATOR
Name of the attribute that specifies the authenticator for a connector server. The value associated with this attribute, if any, must be an object that implements the interface {@link JMXAuthenticator}.
Constructor Detail |
---|
public JMXConnectorServer()
Constructs a connector server that will be registered as an
MBean in the MBean server it is attached to. This constructor
is typically called by one of the createMBean
methods when creating, within an MBean server, a connector
server that makes it available remotely.
public JMXConnectorServer(MBeanServer mbeanServer)
Constructs a connector server that is attached to the given MBean server. A connector server that is created in this way can be registered in a different MBean server.
mbeanServer
- the MBean server that this connector server
is attached to. Null if this connector server will be attached
to an MBean server by being registered in it.Method Detail |
---|
protected void connectionClosed(String connectionId, String message, Object userData)
Called by a subclass when a client connection is closed
normally. Removes connectionId
from the list returned
by {@link #getConnectionIds()}, then emits a {@link
JMXConnectionNotification} with type {@link
JMXConnectionNotification#CLOSED}.
connectionId
- the ID of the closed connection.message
- the message for the emitted {@link
JMXConnectionNotification}. Can be null. See {@link
Notification#getMessage()}.userData
- the userData
for the emitted
{@link JMXConnectionNotification}. Can be null. See {@link
Notification#getUserData()}.protected void connectionFailed(String connectionId, String message, Object userData)
Called by a subclass when a client connection fails.
Removes connectionId
from the list returned by
{@link #getConnectionIds()}, then emits a {@link
JMXConnectionNotification} with type {@link
JMXConnectionNotification#FAILED}.
connectionId
- the ID of the failed connection.message
- the message for the emitted {@link
JMXConnectionNotification}. Can be null. See {@link
Notification#getMessage()}.userData
- the userData
for the emitted
{@link JMXConnectionNotification}. Can be null. See {@link
Notification#getUserData()}.protected void connectionOpened(String connectionId, String message, Object userData)
Called by a subclass when a new client connection is opened.
Adds connectionId
to the list returned by {@link
#getConnectionIds()}, then emits a {@link
JMXConnectionNotification} with type {@link
JMXConnectionNotification#OPENED}.
connectionId
- the ID of the new connection. This must be
different from the ID of any connection previously opened by
this connector server.message
- the message for the emitted {@link
JMXConnectionNotification}. Can be null. See {@link
Notification#getMessage()}.userData
- the userData
for the emitted
{@link JMXConnectionNotification}. Can be null. See {@link
Notification#getUserData()}.public String[] getConnectionIds()
public synchronized MBeanServer getMBeanServer()
Returns the MBean server that this connector server is attached to.
public MBeanNotificationInfo[] getNotificationInfo()
Returns an array indicating the notifications that this MBean
sends. The implementation in JMXConnectorServer
returns an array with one element, indicating that it can emit
notifications of class {@link JMXConnectionNotification} with
the types defined in that class. A subclass that can emit other
notifications should return an array that contains this element
plus descriptions of the other notifications.
getNotificationInfo
in class NotificationBroadcasterSupport
public void postDeregister()
public void postRegister(Boolean registrationDone)
registrationDone
public synchronized void preDeregister() throws Exception
Called by an MBean server when this connector server is
unregistered from that MBean server. If this connector server
was attached to that MBean server by being registered in it,
and if the connector server is still active,
then unregistering it will call the {@link #stop stop} method.
If the stop
method throws an exception, the
unregistration attempt will fail. It is recommended to call
the stop
method explicitly before unregistering
the MBean.
Exception
public synchronized ObjectName preRegister(MBeanServer mbs, ObjectName name)
Called by an MBean server when this connector server is
registered in that MBean server. This connector server becomes
attached to the MBean server and its {@link #getMBeanServer()}
method will return mbs
.
If this connector server is already attached to an MBean server, this method has no effect. The MBean server it is attached to is not necessarily the one it is being registered in.
mbs
- the MBean server in which this connection server is
being registered.name
- The object name of the MBean.public synchronized void setMBeanServerForwarder(MBeanServerForwarder mbsf)
mbsf
public JMXConnector toJMXConnector(Map env) throws IOException
Returns a client stub for this connector server. A client stub is a serializable object whose {@link JMXConnector#connect(Map) connect} method can be used to make one new connection to this connector server.
A given connector need not support the generation of client stubs. However, the connectors specified by the JMX Remote API do (JMXMP Connector and RMI Connector).
The default implementation of this method uses {@link #getAddress} and {@link JMXConnectorFactory} to generate the stub, with code equivalent to the following:
JMXServiceURL addr = {@link #getAddress() getAddress()}; return {@link JMXConnectorFactory#newJMXConnector(JMXServiceURL, Map) JMXConnectorFactory.newJMXConnector(addr, env)};
A connector server for which this is inappropriate must override this method so that it either implements the appropriate logic or throws {@link UnsupportedOperationException}.
env
- client connection parameters of the same sort that
could be provided to {@link JMXConnector#connect(Map)
JMXConnector.connect(Map)}. Can be null, which is equivalent
to an empty map.IOException
- if a communications problem means that a
stub cannot be created.
| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |