public final class JmxConnectionHandler extends ConnectionHandler<JmxConnectionHandlerCfg> implements Runnable, ServerShutdownListener, ConfigurationChangeListener<JmxConnectionHandlerCfg>
Modifier and Type | Field and Description |
---|---|
static String |
TRUST_MANAGER_ARRAY_KEY
Key that may be placed into a JMX connection environment map to provide a custom
javax.net.ssl.TrustManager array for a connection. |
Constructor and Description |
---|
JmxConnectionHandler() |
Modifier and Type | Method and Description |
---|---|
ConfigChangeResult |
applyConfigurationChange(JmxConnectionHandlerCfg config)
Applies the configuration changes to this change listener.
|
void |
bind()
Operates in a loop, accepting new connections and ensuring that requests on those connections are handled
properly.
|
void |
doClose()
Closes this connection handler so that it will no longer accept new client connections.
|
void |
doInitializeConnectionHandler(ServerContext serverContext,
JmxConnectionHandlerCfg config)
Initializes this connection handler provider based on the information in the provided connection handler
configuration.
|
Collection<ClientConnection> |
getClientConnections()
Retrieves the set of active client connections that have been established through this connection handler.
|
Dn |
getComponentEntryDN()
Retrieves the DN of the configuration entry with which this alert generator is associated.
|
String |
getConnectionHandlerName()
Retrieves a name that may be used to refer to this connection handler.
|
String |
getConnectionHandlerType()
Returns the type of this connection handler.
|
Dn |
getKeyManagerProviderDN()
Retrieves the DN of the key manager provider that should be used for operations associated with this connection
handler which need access to a key manager.
|
InetAddress |
getListenAddress()
Get the JMX connection handler's listen address.
|
Collection<HostPort> |
getListeners()
Retrieves information about the listener(s) that will be used to accept client connections.
|
int |
getListenPort()
Get the JMX connection handler's listen port.
|
String |
getProtocol()
Retrieves the name of the protocol used to communicate with clients.
|
RmiConnector |
getRMIConnector()
Get the JMX connection handler's RMI connector.
|
int |
getRmiPort()
Get the JMX connection handler's rmi port.
|
SortedSet<String> |
getSSLServerCertNicknames()
Retrieves the nicknames of the server certificates that should be used in conjunction with this JMX connection
handler.
|
boolean |
isConfigurationAcceptable(JmxConnectionHandlerCfg config,
List<LocalizableMessage> unacceptableReasons)
Indicates whether the provided configuration is acceptable for this connection handler.
|
boolean |
isConfigurationChangeAcceptable(JmxConnectionHandlerCfg config,
List<LocalizableMessage> unacceptableReasons)
Indicates whether the proposed change to the configuration is acceptable
to this change listener.
|
boolean |
isUseSSL()
Determines whether clients are allowed to connect over JMX using SSL.
|
void |
processServerShutdown(LocalizableMessage reason)
Indicates that the Directory Server has received a request to stop running and that this shutdown listener should
take any action necessary to prepare for it.
|
void |
registerClientConnection(ClientConnection connection)
Registers a client connection with this JMX connection handler.
|
void |
run() |
void |
toString(StringBuilder buffer)
Appends a string representation of this connection handler to the provided buffer.
|
void |
unregisterClientConnection(ClientConnection connection)
Unregisters a client connection from this JMX connection handler.
|
addAdditionalMeters, addAdditionalMonitorObjectClassNames, close, getEnabledSSLCipherSuites, getEnabledSSLProtocols, getHealthStatus, getNumRequestHandlers, initializeConnectionHandler, setAdminConnectionHandler, toString
public static final String TRUST_MANAGER_ARRAY_KEY
javax.net.ssl.TrustManager
array for a connection.public ConfigChangeResult applyConfigurationChange(JmxConnectionHandlerCfg config)
ConfigurationChangeListener
applyConfigurationChange
in interface ConfigurationChangeListener<JmxConnectionHandlerCfg>
config
- The new configuration containing the changes.public void bind() throws IOException
ConnectionHandler
bind
in class ConnectionHandler<JmxConnectionHandlerCfg>
IOException
- If the ConnectionHandler
cannot be bound.public void doClose()
ConnectionHandler
doClose
in class ConnectionHandler<JmxConnectionHandlerCfg>
public Collection<ClientConnection> getClientConnections()
getClientConnections
in class ConnectionHandler<JmxConnectionHandlerCfg>
public Dn getComponentEntryDN()
getComponentEntryDN
in class ConnectionHandler<JmxConnectionHandlerCfg>
public String getConnectionHandlerName()
ConnectionHandler
getConnectionHandlerName
in class ConnectionHandler<JmxConnectionHandlerCfg>
public String getConnectionHandlerType()
ConnectionHandler
ConnectionHandler.getProtocol()
.
It should be returning the insecure protocol version.getConnectionHandlerType
in class ConnectionHandler<JmxConnectionHandlerCfg>
public Dn getKeyManagerProviderDN()
null
if no key manager provider has been
configured for this connection handler.public InetAddress getListenAddress()
public int getListenPort()
public int getRmiPort()
public RmiConnector getRMIConnector()
public SortedSet<String> getSSLServerCertNicknames()
public void doInitializeConnectionHandler(ServerContext serverContext, JmxConnectionHandlerCfg config) throws ConfigException, InitializationException
ConnectionHandler
doInitializeConnectionHandler
in class ConnectionHandler<JmxConnectionHandlerCfg>
serverContext
- The server context.config
- The connection handler configuration that contains the information to use to initialize this
connection handler.ConfigException
- If an unrecoverable problem arises in the process of performing the initialization as a result of the
server configuration.InitializationException
- If a problem occurs during initialization that is not related to the server configuration.public String getProtocol()
ConnectionHandler
getProtocol
in class ConnectionHandler<JmxConnectionHandlerCfg>
public Collection<HostPort> getListeners()
ConnectionHandler
getListeners
in class ConnectionHandler<JmxConnectionHandlerCfg>
public boolean isConfigurationAcceptable(JmxConnectionHandlerCfg config, List<LocalizableMessage> unacceptableReasons)
ConnectionHandler
isConfigurationAcceptable
in class ConnectionHandler<JmxConnectionHandlerCfg>
config
- The connection handler configuration for which to make the determination.unacceptableReasons
- A list that may be used to hold the reasons that the provided configuration is not acceptable.true
if the provided configuration is acceptable for this connection handler, or false
if
not.public boolean isConfigurationChangeAcceptable(JmxConnectionHandlerCfg config, List<LocalizableMessage> unacceptableReasons)
ConfigurationChangeListener
isConfigurationChangeAcceptable
in interface ConfigurationChangeListener<JmxConnectionHandlerCfg>
config
- The new configuration containing the changes.unacceptableReasons
- A list that can be used to hold messages about why the
provided configuration is not acceptable.true
if the proposed change is acceptable,
or false
if it is not.public boolean isUseSSL()
true
if clients are allowed to connect over JMX using SSL.public void processServerShutdown(LocalizableMessage reason)
ServerShutdownListener
processServerShutdown
in interface ServerShutdownListener
reason
- The human-readable reason for the shutdown.public void registerClientConnection(ClientConnection connection)
connection
- The client connection.public void unregisterClientConnection(ClientConnection connection)
connection
- The client connection.public void toString(StringBuilder buffer)
ConnectionHandler
toString
in class ConnectionHandler<JmxConnectionHandlerCfg>
buffer
- The buffer to which the information should be appended.Copyright 2010-2022 ForgeRock AS.