|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mx4j.tools.remote.AbstractConnectionManager
Implementation of the ConnectionManager interface that implements emission of connection notifications, authentication, and proper closing of connections.
Constructor Summary | |
protected |
AbstractConnectionManager(AbstractJMXConnectorServer server,
java.util.Map environment)
Called by subclasses. |
Method Summary | |
protected javax.security.auth.Subject |
authenticate(java.lang.Object credentials)
Authenticates a Subject with the given credentials, by looking up a JMXAuthenticator in the environment returned by getEnvironment() . |
void |
close()
Implemented using the template method pattern |
void |
closeConnection(Connection connection)
Implemented using the template method pattern, handles the emission of the connection notification of type "closed". |
Connection |
connect(java.lang.Object credentials)
Implemented using the template method pattern, it handles authentication, creation of the connection ID, emission of connection notification of type "opened". |
protected java.lang.String |
createConnectionID(javax.security.auth.Subject subject)
Returns a connection ID as specified by JSR 160. |
protected abstract void |
doClose()
Closes this ConnectionManager but not the connections it manages |
protected abstract void |
doCloseConnection(Connection connection)
Closes the given Connection. |
protected abstract Connection |
doConnect(java.lang.String connectionId,
javax.security.auth.Subject subject)
Template method to be implemented by subclasses; must return the server-side part of a connection. |
protected java.util.Map |
getEnvironment()
Returns the environment passed when creating the JMXConnectorServer |
protected java.security.AccessControlContext |
getSecurityContext()
Returns a security context at the moment of creation of this ConnectionManager. |
protected boolean |
isClosed()
Returns whether the close() method has been called. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface mx4j.tools.remote.ConnectionManager |
getProtocol |
Constructor Detail |
protected AbstractConnectionManager(AbstractJMXConnectorServer server, java.util.Map environment)
server
- The JMXConnectorServer that will emit connection notificationsenvironment
- The environment passed when the JMXConnectorServer is created.Method Detail |
public Connection connect(java.lang.Object credentials) throws java.io.IOException, java.lang.SecurityException
connect
in interface ConnectionManager
credentials
- The credentials sent by the client to authenticate a subject.
java.lang.SecurityException
- If the authentication fails.
java.io.IOException
- If the connection cannot be created.doConnect(java.lang.String, javax.security.auth.Subject)
,
authenticate(java.lang.Object)
,
createConnectionID(javax.security.auth.Subject)
protected java.lang.String createConnectionID(javax.security.auth.Subject subject)
subject
- The authenticated Subjectprotected abstract Connection doConnect(java.lang.String connectionId, javax.security.auth.Subject subject) throws java.io.IOException
connectionId
- The connection ID for connection that is returnedsubject
- The authenticated Subject
java.io.IOException
- If the connection cannot be createdpublic void close() throws java.io.IOException
close
in interface ConnectionManager
java.io.IOException
doClose()
,
closeConnection(mx4j.tools.remote.Connection)
protected abstract void doClose() throws java.io.IOException
java.io.IOException
- If this ConnectionManager cannot be closedpublic void closeConnection(Connection connection) throws java.io.IOException
closeConnection
in interface ConnectionManager
java.io.IOException
doCloseConnection(mx4j.tools.remote.Connection)
protected abstract void doCloseConnection(Connection connection) throws java.io.IOException
java.io.IOException
protected boolean isClosed()
close()
method has been called.
protected java.util.Map getEnvironment()
protected java.security.AccessControlContext getSecurityContext()
protected javax.security.auth.Subject authenticate(java.lang.Object credentials) throws java.io.IOException, java.lang.SecurityException
getEnvironment()
.
java.io.IOException
java.lang.SecurityException
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |