| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.management.NotificationBroadcasterSupport
javax.management.remote.JMXConnectorServer
public abstract class JMXConnectorServer
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 start
 method is called.  A connector server stops listening for client
 connections when the 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 JMXConnectionNotification is emitted.
| Field Summary | |
|---|---|
| static String | AUTHENTICATORName of the attribute that specifies the authenticator for a connector server. | 
| Constructor Summary | |
|---|---|
| JMXConnectorServer()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[] | getConnectionIds()The list of IDs for currently-open connections to this connector server. | 
|  MBeanServer | getMBeanServer()Returns the MBean server that this connector server is attached to. | 
|  MBeanNotificationInfo[] | getNotificationInfo()Returns an array indicating the notifications that this MBean sends. | 
|  void | postDeregister()Allows the MBean to perform any operations needed after having been unregistered in the MBean server. | 
|  void | postRegister(Boolean registrationDone)Allows the MBean to perform any operations needed after having been registered in the MBean server or after the registration has failed. | 
|  void | preDeregister()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 | setMBeanServerForwarder(MBeanServerForwarder mbsf)Adds an object that intercepts requests for the MBean server that arrive through this connector server. | 
|  JMXConnector | toJMXConnector(Map<String,?> env)Returns a client stub for this connector server. | 
| Methods inherited from class javax.management.NotificationBroadcasterSupport | 
|---|
| addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Methods inherited from interface javax.management.remote.JMXConnectorServerMBean | 
|---|
| getAddress, getAttributes, isActive, start, stop | 
| 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 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 | 
|---|
public MBeanServer getMBeanServer()
Returns the MBean server that this connector server is attached to.
public void setMBeanServerForwarder(MBeanServerForwarder mbsf)
JMXConnectorServerMBeanAdds an object that intercepts requests for the MBean server
 that arrive through this connector server.  This object will be
 supplied as the MBeanServer for any new connection
 created by this connector server.  Existing connections are
 unaffected.
If this connector server is already associated with an
 MBeanServer object, then that object is given to
 mbsf.setMBeanServer.  If doing so produces an exception, this
 method throws the same exception without any other effect.
If this connector is not already associated with an
 MBeanServer object, or if the
 mbsf.setMBeanServer call just mentioned succeeds,
 then mbsf becomes this connector server's
 MBeanServer.
setMBeanServerForwarder in interface JMXConnectorServerMBeanmbsf - the new MBeanServerForwarder.public String[] getConnectionIds()
JMXConnectorServerMBeanThe list of IDs for currently-open connections to this connector server.
getConnectionIds in interface JMXConnectorServerMBean
public JMXConnector toJMXConnector(Map<String,?> env)
                            throws IOException
Returns a client stub for this connector server.  A client
 stub is a serializable object whose 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 JMXConnectorServerMBean.getAddress() and JMXConnectorFactory to generate the
 stub, with code equivalent to the following:
JMXServiceURL addr =getAddress(); returnJMXConnectorFactory.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 UnsupportedOperationException.
toJMXConnector in interface JMXConnectorServerMBeanenv - client connection parameters of the same sort that
 could be provided to JMXConnector.connect(Map).  Can be null, which is equivalent
 to an empty map.
UnsupportedOperationException - if this connector
 server does not support the generation of client stubs.
IllegalStateException - if the JMXConnectorServer is
 not started (see JMXConnectorServerMBean.isActive()).
IOException - if a communications problem means that a
 stub cannot be created.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 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 interface NotificationBroadcastergetNotificationInfo in class NotificationBroadcasterSupport
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 getConnectionIds(), then emits a JMXConnectionNotification with type 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 JMXConnectionNotification.  Can be null.  See Notification.getMessage().userData - the userData for the emitted
 JMXConnectionNotification.  Can be null.  See Notification.getUserData().
NullPointerException - if connectionId is
 null.
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 getConnectionIds(), then emits a JMXConnectionNotification with type JMXConnectionNotification.CLOSED.
connectionId - the ID of the closed connection.message - the message for the emitted JMXConnectionNotification.  Can be null.  See Notification.getMessage().userData - the userData for the emitted
 JMXConnectionNotification.  Can be null.  See Notification.getUserData().
NullPointerException - if connectionId
 is null.
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
 getConnectionIds(), then emits a JMXConnectionNotification with type JMXConnectionNotification.FAILED.
connectionId - the ID of the failed connection.message - the message for the emitted JMXConnectionNotification.  Can be null.  See Notification.getMessage().userData - the userData for the emitted
 JMXConnectionNotification.  Can be null.  See Notification.getUserData().
NullPointerException - if connectionId is
 null.
public 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 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.
preRegister in interface MBeanRegistrationmbs - the MBean server in which this connection server is
 being registered.name - The object name of the MBean.
NullPointerException - if mbs or
 name is null.public void postRegister(Boolean registrationDone)
MBeanRegistration
postRegister in interface MBeanRegistrationregistrationDone - Indicates whether or not the MBean has
 been successfully registered in the MBean server. The value
 false means that the registration phase has failed.
public 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 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.
preDeregister in interface MBeanRegistrationIOException - if thrown by the stop method.
Exception - This exception will be caught by
 the MBean server and re-thrown as an MBeanRegistrationException.public void postDeregister()
MBeanRegistration
postDeregister in interface MBeanRegistration| 
 | JavaTM 2 Platform Standard Ed. 5.0 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.