Package org.jivesoftware.openfire.spi
Class ConnectionManagerImpl
java.lang.Object
org.jivesoftware.openfire.container.BasicModule
org.jivesoftware.openfire.spi.ConnectionManagerImpl
- All Implemented Interfaces:
ConnectionManager
,Module
,CertificateEventListener
,PropertyEventListener
public class ConnectionManagerImpl
extends BasicModule
implements ConnectionManager, CertificateEventListener, PropertyEventListener
-
Field Summary
Fields inherited from interface org.jivesoftware.openfire.ConnectionManager
DEFAULT_COMPONENT_PORT, DEFAULT_COMPONENT_SSL_PORT, DEFAULT_MULTIPLEX_PORT, DEFAULT_MULTIPLEX_SSL_PORT, DEFAULT_PORT, DEFAULT_SERVER_PORT, DEFAULT_SERVER_SSL_PORT, DEFAULT_SSL_PORT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
enable
(ConnectionType type, boolean startInDirectTlsMode, boolean enabled) Enables or disables a connection listener.Returns the specific network interface on which the Openfire administration console should be configured to listen, or null when no such preference has been configured.getConnectionAcceptor
(ConnectionType type, boolean directTLS) Returns the connection acceptor for a particular connection type and configuration.Returns the specific network interface on which Openfire is configured to listen, or null when no such preference has been configured.getListener
(ConnectionType type, boolean startInDirectTlsMode) Returns a connection listener.Returns all connection listeners.getListeners
(ConnectionType type) Returns al connection listeners for the provided type.int
getPort
(ConnectionType type, boolean startInDirectTlsMode) Retrieves the configured TCP port on which a listener accepts connections.boolean
isEnabled
(ConnectionType type, boolean startInDirectTlsMode) Return if the configuration allows this listener to be enabled (but does not verify that the listener is indeed active) The #startInSslMode parameter is used to distinguish between listeners that expect to receive TLS encrypted data immediately, as opposed to connections that initially accept plain text data (the latter are typically subject to StartTLS for in-band encryption configuration).void
propertyDeleted
(String property, Map<String, Object> params) A property was deleted.void
propertySet
(String property, Map<String, Object> params) A property was set.void
setPort
(ConnectionType type, boolean startInDirectTlsMode, int port) Sets the TCP port on which a listener accepts connections.void
start()
Starts the basic module.void
stop()
Stops the basic module.void
Event triggered when the content of a certificate store was changed.void
xmlPropertyDeleted
(String property, Map<String, Object> params) An XML property was deleted.void
xmlPropertySet
(String property, Map<String, Object> params) An XML property was set.Methods inherited from class org.jivesoftware.openfire.container.BasicModule
destroy, getName, initialize
-
Constructor Details
-
ConnectionManagerImpl
Instantiates a new connection manager.- Throws:
IOException
- if the identity or trust stores could not be loaded
-
-
Method Details
-
getListenAddress
Returns the specific network interface on which Openfire is configured to listen, or null when no such preference has been configured.- Returns:
- A network interface or null.
- Throws:
UnknownHostException
- When the configured network name cannot be resolved.
-
getAdminConsoleListenAddress
Returns the specific network interface on which the Openfire administration console should be configured to listen, or null when no such preference has been configured.- Returns:
- A network interface or null.
- Throws:
UnknownHostException
- When the configured network name cannot be resolved.
-
getListeners
Returns all connection listeners.- Specified by:
getListeners
in interfaceConnectionManager
- Returns:
- All connection listeners (never null).
-
getListener
Returns a connection listener. The #startInSslMode parameter is used to distinguish between listeners that expect to receive TLS encrypted data immediately, as opposed to connections that initially accept plain text data (the latter are typically subject to StartTLS for in-band encryption configuration). When for a particular connection type only one of these options is implemented, the parameter value is ignored.- Specified by:
getListener
in interfaceConnectionManager
- Parameters:
type
- The connection type for which a listener is to be configured.startInDirectTlsMode
- true when the listener to be configured is in Direct TLS mode, otherwise false.- Returns:
- The connection listener (never null).
-
getListeners
Returns al connection listeners for the provided type.- Specified by:
getListeners
in interfaceConnectionManager
- Parameters:
type
- The connection type for which a listener is to be configured.- Returns:
- The connection listener (never null).
-
getConnectionAcceptor
Returns the connection acceptor for a particular connection type and configuration.- Parameters:
type
- The connection type for which to return the acceptordirectTLS
- DirectTLS or StartTLS selector- Returns:
- The connection acceptor for the provided arguments.
-
isEnabled
Return if the configuration allows this listener to be enabled (but does not verify that the listener is indeed active) The #startInSslMode parameter is used to distinguish between listeners that expect to receive TLS encrypted data immediately, as opposed to connections that initially accept plain text data (the latter are typically subject to StartTLS for in-band encryption configuration). When for a particular connection type only one of these options is implemented, the parameter value is ignored.- Specified by:
isEnabled
in interfaceConnectionManager
- Parameters:
type
- The connection type for which a listener is to be configured.startInDirectTlsMode
- true when the listener to be configured is in Direct TLS mode, otherwise false.- Returns:
- true if configuration allows this listener to be enabled, otherwise false.
-
enable
Enables or disables a connection listener. Does nothing if the particular listener is already in the requested state. The #startInSslMode parameter is used to distinguish between listeners that expect to receive TLS encrypted data immediately, as opposed to connections that initially accept plain text data (the latter are typically subject to StartTLS for in-band encryption configuration). When for a particular connection type only one of these options is implemented, the parameter value is ignored.- Specified by:
enable
in interfaceConnectionManager
- Parameters:
type
- The connection type for which a listener is to be configured.startInDirectTlsMode
- true when the listener to be configured is in Direct TLS mode, otherwise false.enabled
- true if the listener is to be enabled, otherwise false.
-
getPort
Retrieves the configured TCP port on which a listener accepts connections.- Specified by:
getPort
in interfaceConnectionManager
- Parameters:
type
- The connection type for which a listener is to be configured.startInDirectTlsMode
- true when the listener to be configured is in DirectTLS mode, otherwise false.- Returns:
- a port number.
-
setPort
Sets the TCP port on which a listener accepts connections.- Specified by:
setPort
in interfaceConnectionManager
- Parameters:
type
- The connection type for which a listener is to be configured.startInDirectTlsMode
- true when the listener to be configured is in Direct TLS mode, otherwise false.port
- a port number.
-
storeContentChanged
Description copied from interface:CertificateEventListener
Event triggered when the content of a certificate store was changed.- Specified by:
storeContentChanged
in interfaceCertificateEventListener
- Parameters:
store
- The store for which the content was changed.
-
propertySet
Description copied from interface:PropertyEventListener
A property was set. The parameter mapparams
will contain the the value of the property under the keyvalue
.- Specified by:
propertySet
in interfacePropertyEventListener
- Parameters:
property
- the name of the property.params
- event parameters.
-
propertyDeleted
Description copied from interface:PropertyEventListener
A property was deleted.- Specified by:
propertyDeleted
in interfacePropertyEventListener
- Parameters:
property
- the name of the property deleted.params
- event parameters.
-
xmlPropertySet
Description copied from interface:PropertyEventListener
An XML property was set. The parameter mapparams
will contain the the value of the property under the keyvalue
.- Specified by:
xmlPropertySet
in interfacePropertyEventListener
- Parameters:
property
- the name of the property.params
- event parameters.
-
xmlPropertyDeleted
Description copied from interface:PropertyEventListener
An XML property was deleted.- Specified by:
xmlPropertyDeleted
in interfacePropertyEventListener
- Parameters:
property
- the name of the property.params
- event parameters.
-
start
public void start()Description copied from class:BasicModule
Starts the basic module.
Inheriting classes that choose to override this method MUST call this start() method before accessing BasicModule resources.
- Specified by:
start
in interfaceModule
- Overrides:
start
in classBasicModule
-
stop
public void stop()Description copied from class:BasicModule
Stops the basic module.
Inheriting classes that choose to override this method MUST call this stop() method before accessing BasicModule resources.
- Specified by:
stop
in interfaceModule
- Overrides:
stop
in classBasicModule
-