mx4j.tools.remote
Class AbstractJMXConnector

java.lang.Object
  extended bymx4j.tools.remote.AbstractJMXConnector
All Implemented Interfaces:
javax.management.remote.JMXConnector, java.io.Serializable
Direct Known Subclasses:
HTTPConnector, LocalConnector

public abstract class AbstractJMXConnector
extends java.lang.Object
implements javax.management.remote.JMXConnector, java.io.Serializable

Abstract implementation of the JMXConnector interface. It gives support for emitting connection notifications and implements JMXConnector methods using the template method pattern.

Version:
$Revision: 1.8 $
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface javax.management.remote.JMXConnector
CREDENTIALS
 
Constructor Summary
protected AbstractJMXConnector(javax.management.remote.JMXServiceURL address)
          Creates a new JMXConnector that will connect to the given JMXServiceURL
 
Method Summary
 void addConnectionNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
           
 void close()
           
 void connect()
           
 void connect(java.util.Map environment)
           
protected  ConnectionNotificationEmitter createConnectionNotificationEmitter()
          Creates a notification emitter used to emit connection notifications.
protected abstract  void doClose()
          Template method to be implemented by subclasses to close this JMXConnector
protected abstract  void doConnect(java.util.Map environment)
           
protected abstract  javax.management.MBeanServerConnection doGetMBeanServerConnection(javax.security.auth.Subject delegate)
          Template method to be implemented by subclasses to return an MBeanServerConnection for the given delegate subject.
protected  javax.management.remote.JMXServiceURL getAddress()
          Returns the JMXServiceURL this JMXConnector will connect to.
protected  ConnectionNotificationEmitter getConnectionNotificationEmitter()
           
 javax.management.MBeanServerConnection getMBeanServerConnection()
           
 javax.management.MBeanServerConnection getMBeanServerConnection(javax.security.auth.Subject delegate)
           
protected  boolean isClosed()
          Returns whether the close() method has been called.
protected  boolean isConnected()
          Returns whether the connect() or connect(Map) method has been called on this JMXConnector.
 void removeConnectionNotificationListener(javax.management.NotificationListener listener)
           
 void removeConnectionNotificationListener(javax.management.NotificationListener listener, javax.management.NotificationFilter filter, java.lang.Object handback)
           
protected  void sendConnectionNotificationClosed()
           
 
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.JMXConnector
getConnectionId
 

Constructor Detail

AbstractJMXConnector

protected AbstractJMXConnector(javax.management.remote.JMXServiceURL address)
                        throws java.io.IOException
Creates a new JMXConnector that will connect to the given JMXServiceURL

Method Detail

getAddress

protected javax.management.remote.JMXServiceURL getAddress()
Returns the JMXServiceURL this JMXConnector will connect to.


connect

public void connect()
             throws java.io.IOException,
                    java.lang.SecurityException
Specified by:
connect in interface javax.management.remote.JMXConnector
Throws:
java.io.IOException
java.lang.SecurityException

connect

public void connect(java.util.Map environment)
             throws java.io.IOException,
                    java.lang.SecurityException
Specified by:
connect in interface javax.management.remote.JMXConnector
Throws:
java.io.IOException
java.lang.SecurityException

doConnect

protected abstract void doConnect(java.util.Map environment)
                           throws java.io.IOException,
                                  java.lang.SecurityException
Throws:
java.io.IOException
java.lang.SecurityException

close

public void close()
           throws java.io.IOException
Specified by:
close in interface javax.management.remote.JMXConnector
Throws:
java.io.IOException

doClose

protected abstract void doClose()
                         throws java.io.IOException
Template method to be implemented by subclasses to close this JMXConnector

Throws:
java.io.IOException

getMBeanServerConnection

public javax.management.MBeanServerConnection getMBeanServerConnection()
                                                                throws java.io.IOException
Specified by:
getMBeanServerConnection in interface javax.management.remote.JMXConnector
Throws:
java.io.IOException

getMBeanServerConnection

public javax.management.MBeanServerConnection getMBeanServerConnection(javax.security.auth.Subject delegate)
                                                                throws java.io.IOException
Specified by:
getMBeanServerConnection in interface javax.management.remote.JMXConnector
Throws:
java.io.IOException

doGetMBeanServerConnection

protected abstract javax.management.MBeanServerConnection doGetMBeanServerConnection(javax.security.auth.Subject delegate)
                                                                              throws java.io.IOException
Template method to be implemented by subclasses to return an MBeanServerConnection for the given delegate subject. This method should return an MBeanServerConnection that delegates method calls to a JMXConnection (or an equivalent client side connection object). The JMXConnection object to which calls are delegated can in turn be a chain of objects that decorate the call performing some other operation; the final object in the chain is the one that really communicates with the server side, and it is normally called ClientInvoker.

Throws:
java.io.IOException

addConnectionNotificationListener

public void addConnectionNotificationListener(javax.management.NotificationListener listener,
                                              javax.management.NotificationFilter filter,
                                              java.lang.Object handback)
Specified by:
addConnectionNotificationListener in interface javax.management.remote.JMXConnector

removeConnectionNotificationListener

public void removeConnectionNotificationListener(javax.management.NotificationListener listener)
                                          throws javax.management.ListenerNotFoundException
Specified by:
removeConnectionNotificationListener in interface javax.management.remote.JMXConnector
Throws:
javax.management.ListenerNotFoundException

removeConnectionNotificationListener

public void removeConnectionNotificationListener(javax.management.NotificationListener listener,
                                                 javax.management.NotificationFilter filter,
                                                 java.lang.Object handback)
                                          throws javax.management.ListenerNotFoundException
Specified by:
removeConnectionNotificationListener in interface javax.management.remote.JMXConnector
Throws:
javax.management.ListenerNotFoundException

sendConnectionNotificationClosed

protected void sendConnectionNotificationClosed()

createConnectionNotificationEmitter

protected ConnectionNotificationEmitter createConnectionNotificationEmitter()
Creates a notification emitter used to emit connection notifications. This method is called once per JMXConnector.


getConnectionNotificationEmitter

protected ConnectionNotificationEmitter getConnectionNotificationEmitter()

isConnected

protected boolean isConnected()
Returns whether the connect() or connect(Map) method has been called on this JMXConnector.


isClosed

protected boolean isClosed()
Returns whether the close() method has been called.



Copyright © 2001-2005 The MX4J Contributors. All Rights Reserved.