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 Modifier and Type Field Description static String
CAPACITY_FILTER_NAME
static String
COMPRESSION_FILTER_NAME
static String
EXECUTOR_FILTER_NAME
static String
STARTTLS_FILTER_NAME
static String
TLS_FILTER_NAME
static String
XMPP_CODEC_FILTER_NAME
-
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 Constructor Description ConnectionManagerImpl()
Instantiates a new connection manager.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
enable(ConnectionType type, boolean startInDirectTlsMode, boolean enabled)
Enables or disables a connection listener.InetAddress
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.ConnectionAcceptor
getConnectionAcceptor(ConnectionType type, boolean directTLS)
Returns the connection acceptor for a particular connection type and configuration.InetAddress
getListenAddress()
Returns the specific network interface on which Openfire is configured to listen, or null when no such preference has been configured.ConnectionListener
getListener(ConnectionType type, boolean startInDirectTlsMode)
Returns a connection listener.Set<ConnectionListener>
getListeners()
Returns all connection listeners.Set<ConnectionListener>
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
storeContentChanged(CertificateStore store)
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
-
-
-
-
Field Detail
-
EXECUTOR_FILTER_NAME
public static final String EXECUTOR_FILTER_NAME
- See Also:
- Constant Field Values
-
TLS_FILTER_NAME
public static final String TLS_FILTER_NAME
- See Also:
- Constant Field Values
-
STARTTLS_FILTER_NAME
public static final String STARTTLS_FILTER_NAME
- See Also:
- Constant Field Values
-
COMPRESSION_FILTER_NAME
public static final String COMPRESSION_FILTER_NAME
- See Also:
- Constant Field Values
-
XMPP_CODEC_FILTER_NAME
public static final String XMPP_CODEC_FILTER_NAME
- See Also:
- Constant Field Values
-
CAPACITY_FILTER_NAME
public static final String CAPACITY_FILTER_NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ConnectionManagerImpl
public ConnectionManagerImpl() throws IOException
Instantiates a new connection manager.- Throws:
IOException
- if the identity or trust stores could not be loaded
-
-
Method Detail
-
getListenAddress
public InetAddress getListenAddress() throws UnknownHostException
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
public InetAddress getAdminConsoleListenAddress() throws UnknownHostException
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
public Set<ConnectionListener> getListeners()
Returns all connection listeners.- Specified by:
getListeners
in interfaceConnectionManager
- Returns:
- All connection listeners (never null).
-
getListener
public ConnectionListener getListener(ConnectionType type, boolean startInDirectTlsMode)
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
public Set<ConnectionListener> getListeners(ConnectionType type)
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
public ConnectionAcceptor getConnectionAcceptor(ConnectionType type, boolean directTLS)
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
public 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). 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
public void enable(ConnectionType type, boolean startInDirectTlsMode, boolean enabled)
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
public int getPort(ConnectionType type, boolean startInDirectTlsMode)
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
public void setPort(ConnectionType type, boolean startInDirectTlsMode, int port)
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
public void storeContentChanged(CertificateStore store)
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
public void propertySet(String property, Map<String,Object> params)
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
public void propertyDeleted(String property, Map<String,Object> params)
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
public void xmlPropertySet(String property, Map<String,Object> params)
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
public void xmlPropertyDeleted(String property, Map<String,Object> params)
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
-
-