This chapter explains the parameters that can be configured for the connection manager used in the FioranoMQ Server. In general, these parameters are the most common ones used for connection management in the server and they can be configured in the default profile at the node FioranoMQ->Fiorano->socketAcceptors->port-1->ConnectionManager through Offline configuration using Studio.
For information on how to configure the FioranoMQ Server in Offline mode, refer to Chapter 3 Offline Configuration Through Profile Manager and for Online Configuration (through the Web Management Console), refer to Chapter 30 FioranoMQ Web Management Console and on Connection Management, refer to Chapter 4 Connection Management of FioranoMQ Handbook.
Default
Default identifies whether the Connection Manager is set as a default option. All connection factories contain URL information of the Connection Manager. If no Connection Manager has its flag set to true the connection factories will retrieve their URL information from the default server URL.
Values:
The default value for the Default parameter is true. The values assignable to this parameter are true/false.
CFNameAppender (Not being used in FioranoMQ)
The CFNameAppender parameter specifies the suffix to be attaché to the ConnectionFactory created for the ConnectionManager.
Values:
The default value for the CFNameAppenderparameter is null. The values assignable to this parameter may consist of a string of characters.
ReaderCacheDisabled
ReaderCacheDisabled is a boolean parameter indicating whether the connection cache is created on the read socket. This cache is used while reading bytes from Sockets. If this parameter is set to true, then the appropriate amount of memory is allocated for each Socket Read. If set to false memory is allocated for Socket Read based on the exact memory needed decreasing the number of memory re-allocations.
Values:
The default value for the ReaderCacheDisabled parameter is false. The values that can be assigned to this parameter are true/false.
TCPWindowSize (Not being Used in FioranoMQ)
TCPWindowSize is used for the three ways handshaking process required for connection creation.
Values:
The default value for the TCPWindowSize parameter is 133120 bytes. The values assignable to this parameter are any positive values in Long Range.
HandshakeInWorkerThread
The HandshakeInWorkerThread is a boolean parameter indicating whether the HandShaking process was performed while accepting the connection request from the client or when creating the socket initialization context.
Values:
The default value for the HandshakeInWorkerThread parameter is true. The values that may be assigned to this parameter are true/false.
MagicTimeout
The MagicTimeout parameter sets the socket timeout for the socket that is created. If a request does not arrive on the socket within the interval specified, a socket cleanup is performed.
Values:
The default value for the MagicTimeout parameter is 60000 seconds. The values that may be assignable to this parameter are any non-negative integer values. If this value is set to zero the ‘timeout’ is considered to be infinite.
Example:
If the MagicTimeout value is set to 60000 and a connection is made to the FioranoMQ Server and the Server fails to communicate, the socket will be cleared after one minute. This connection must communicate with the JMS Server within one minute or the Socket will be cleared and the connection closed.
Port
The Port parameter is used for binding the socket at the time of Server startup.
Values:
The default value set for the MagicTimeout parameter is 1856. A valid port value is between 0 and 65535.
Example:
if the MagicTimeout value is set to 1856, which is the default value, and the machine IP address is 192.168.1.209, clients have to mention http://192.168.1.209:1856 as the provider URL to connect to the JMS provider.
Protocol
The Protocol parameter is used for establishing a connection between the Client and the Server.
Values:
The default value set for the Protocol parameter is TCP. The values that may be assignable to this parameter are TCP/HTTP/SUN_SSL/HTTPS_SUN.
· TCP - Accepts connections based on the TCP Protocol.
· HTTP - Accepts Connections based on the HTTP Protocol.
· SUN_SSL - Accepts Secured Connections based on the TCP Protocol.
· HTTPS_SUN - Accepts Secured Connections based on the HTTP Protocol.
Dependencies:
If the Protocol is set to either SUN_SSL or HTTPS_SUN, SSLEnabled must be set to true.
UseNagle
Use Nagle is a boolean parameter indicating whether the Nagle Algorithm was used in creating the socket. Using the Nagle Algorithm enables improving the efficiency of the TCP/IP networks by reducing the number of packets that need to be sent over the network. The Nagle Algorithm is used to automatically concatenate a number of small buffer messages. The process of concatenating several small messages (called nagling) increases the efficiency of a network application system by decreasing the number of packets to be sent.
Values:
The default value set for the UseNagel parameter is false. The values that can be assigned to the UseNagel parameter are true/false.
MonitoringRequest
The MonitoringRequest parameter is the default monitoring request ID sent as a validation for communication.
Values:
The default value for the MonitoringRequest parameter is 13.
MonitoringResponse
The Monitoring Response parameter is the default monitoring request response sent as a validation for communication.
Values:
The default value for the Monitoring Response parameter is null.
EnforceJsseAuthentication
The EnforceJsseAuthemtication parameter checks whether authentication is to be done for JSSE client requests accept by the S. The value of this parameter is preset and useful for sockets in the server.
Values:
The default value for the EnforceJsseAuthemtication parameter is false. The values considered valid by this parameter are true/false.
· True - If client authentication is required on newly accepted connections.
· False - If client authentication is not required on newly accepted connections.
Example:
If this parameter is set to true and the client does not provide authentication information, the server socket will not continue communication with the client and the connection will be dropped.
MaxClientConnectionsCount
The MaxCientConnectionsCOunt is the maximum number of client connections allowed with the Connection Manager. A value of -1 indicates no upper limit for connections allowed.
Values:
The default value for this parameter is 1024. The values that this parameter considers valid are -1 and and any positive integer value. If this value is set to -1, there is no maximum client connection limit..
Example:
If the value for this parameter is set for 200 and 200 external connections from clients are made to the server, any attempts to create more connections which are not LPC Enabled will not be successful and all connections will be dropped.
AdminConnection (Not being used)
AdminConnection serves the client by checking whether the connection is an Administrative Connection or a Normal Connection.
Values:
The default value set for the AdminConnection parameter is false. The values considered valid by this parameter are true/false.
Path
Deprecated attribute. Please refer to SSL documentation. Root directory in which this connection manager searches for digital signatures for handling secure connections
Values:
The default value for the Path parameter is certs. Any valid file may be assigned to this parameter.
Example:
By default, the Path parameter in the FioranoMQ profile directs queries regarding digital signatures to the folder $FIORANO_HOME/fmq/profiles/FioranoMQ/certs.
ServerAddress
ServerAddress is the InetAddress of the local machine that the FioranoMQ Server needs to bind with. This option is useful when the FioranoMQ Server is running onon multi-homed machines.
Values:
The default value for the Server Address parameter is null. A valid machine name or a textual representation of the a machine’s IP address may be assigned as a value for this parameter.
Example:
If a machine has an IP address of <192.168.1.209> and hostname of <example.hostname>, either one of these may be given as its ServerAddress.
HandShakingDisabled
HandShakingDisabled is a boolean parameter indicating whether the handshake is disabled is enabled upon connection creation.
Values:
The default value for the HandShakingParameter parameter is false. The values that that are considered valid for this parameter are true/false.
· True – Set to True if a handshake between the client and the server is not needed after creating a new connection.
· False – Set to False to perform a hand shake between the client and the server after creating a new connection.
Dependencies:
Refer to the special note below.
Special Note:
When setting the value of the HandShakingDisabled parameter to true in the server set a System Property DisableHandShake=true in the client JVM when.
Caution: Setting this parameter may make the Server DOS attack prone making the client JVM hang if it is unable to set the Client System Property for the same.
ManagerClassName
Deprecated Attribute. Please refer to SSL documentation. Class Name of the Security Manager for wrapping TCP/HTTP communication. This is an implementation of IExSecurityManager. One can write and plug-in his server security manager. Possible default values are fiorano.jms.ex.sm.def.DefaultJSSESecurityManager
Values:
The default value considered valid for the ManageClassName parameter is fiorano.jms.ex.sm.def.DefaultJSSESecurityManager. The value that is considered valid for this parameter.
Example:
The ManageClassName is an implementation of IExSecurityManager. The parameter may be used to manage certificates which are used for handling secure connections.
Dependencies:
The ManageClassName parameter is used only when SSLEnabled is set to true.
FioranoMQServer
The FioranoMQServer is a boolean value that determines whether the connection created is for the FioranoMQ Server or if it is for external servers.
Values:
The default value for the FioranoMQServer parameter is true. The values considered valid for this parameter is true/false.
· True - Connection created is for the FioranoMQ Server.
· False – Connection created if for FES/FPS Servers.
UseForPeerToPeerCommunication (Not being used in FioranoMQ)
UseForPeerToPeerCommunication is a boolean parameter which determines whether the connectionManager created should be used to communicate with Peer Servers. (This parameter is applicable to FPS only.)
Values:
The default value for the UseForPeerToPeerCommunications parameter is false. The values considered valid for this parameter is true/false.
UseSystemPropsForSSL
Boolean which determines whether System properties like javax.net.ssl.keyStore to load key store and trust store for SSL Communication. If we enable this parameter, then the FioranoMQ Server assumes that the "Context", in which the SSL Server Socket is created, is initialized by the JDK using the system properties like -
· javax.net.ssl.keyStore
· javax.net.ssl.keyStorepassword
· javax.net.ssl.keyStoreType
· javax.net.ssl.trustStore
· javax.net.ssl.trustStorePassword
· javax.net.ssl.trustStoreType
· javax.net.debug
Please see SSL documentation for further information.
Valid Values:
True/False. Default value for this parameter is false.
CipherSuiteList
Semi-colon separated list of Cipher Suites to be enabled for SSL/TLS Communication. By default every cipher suite supported by JDK/JRE is enabled.
Valid Values:
Any cipher suite supported by the JDK/JRE. This list can be obtained by invoking "javax.net.ssl.SSLServerSocket.getSupportedCipherSuites()" API. Default value for this parameter is null, which means that every cipher suite supported is enabled.
This chapter explains the parameters that can be configured for the connection manager used in the FioranoMQ Server. In general, these parameters are the most common ones used for connection management in the server and they can be configured in the default profile at the node FioranoMQ->Fiorano->socketAcceptors->port-1->ConnectionManager through Offline configuration using Studio.
For information on how to configure the FioranoMQ Server in Offline mode, refer to Chapter 3 Offline Configuration Through Profile Manager and for Online Configuration (through the Web Management Console), refer to Chapter 30 FioranoMQ Web Management Console and on Connection Management, refer to Chapter 4 Connection Management of FioranoMQ Handbook.
Default
Default identifies whether the Connection Manager is set as a default option. All connection factories contain URL information of the Connection Manager. If no Connection Manager has its flag set to true the connection factories will retrieve their URL information from the default server URL.
Values:
The default value for the Default parameter is true. The values assignable to this parameter are true/false.
CFNameAppender (Not being used in FioranoMQ)
The CFNameAppender parameter specifies the suffix to be attaché to the ConnectionFactory created for the ConnectionManager.
Values:
The default value for the CFNameAppenderparameter is null. The values assignable to this parameter may consist of a string of characters.
ReaderCacheDisabled
ReaderCacheDisabled is a boolean parameter indicating whether the connection cache is created on the read socket. This cache is used while reading bytes from Sockets. If this parameter is set to true, then the appropriate amount of memory is allocated for each Socket Read. If set to false memory is allocated for Socket Read based on the exact memory needed decreasing the number of memory re-allocations.
Values:
The default value for the ReaderCacheDisabled parameter is false. The values that can be assigned to this parameter are true/false.
TCPWindowSize (Not being Used in FioranoMQ)
TCPWindowSize is used for the three ways handshaking process required for connection creation.
Values:
The default value for the TCPWindowSize parameter is 133120 bytes. The values assignable to this parameter are any positive values in Long Range.
HandshakeInWorkerThread
The HandshakeInWorkerThread is a boolean parameter indicating whether the HandShaking process was performed while accepting the connection request from the client or when creating the socket initialization context.
Values:
The default value for the HandshakeInWorkerThread parameter is true. The values that may be assigned to this parameter are true/false.
MagicTimeout
The MagicTimeout parameter sets the socket timeout for the socket that is created. If a request does not arrive on the socket within the interval specified, a socket cleanup is performed.
Values:
The default value for the MagicTimeout parameter is 60000 seconds. The values that may be assignable to this parameter are any non-negative integer values. If this value is set to zero the ‘timeout’ is considered to be infinite.
Example:
If the MagicTimeout value is set to 60000 and a connection is made to the FioranoMQ Server and the Server fails to communicate, the socket will be cleared after one minute. This connection must communicate with the JMS Server within one minute or the Socket will be cleared and the connection closed.
Port
The Port parameter is used for binding the socket at the time of Server startup.
Values:
The default value set for the MagicTimeout parameter is 1856. A valid port value is between 0 and 65535.
Example:
if the MagicTimeout value is set to 1856, which is the default value, and the machine IP address is 192.168.1.209, clients have to mention http://192.168.1.209:1856 as the provider URL to connect to the JMS provider.
Protocol
The Protocol parameter is used for establishing a connection between the Client and the Server.
Values:
The default value set for the Protocol parameter is TCP. The values that may be assignable to this parameter are TCP/HTTP/SUN_SSL/HTTPS_SUN.
· TCP - Accepts connections based on the TCP Protocol.
· HTTP - Accepts Connections based on the HTTP Protocol.
· SUN_SSL - Accepts Secured Connections based on the TCP Protocol.
· HTTPS_SUN - Accepts Secured Connections based on the HTTP Protocol.
Dependencies:
If the Protocol is set to either SUN_SSL or HTTPS_SUN, SSLEnabled must be set to true.
UseNagle
Use Nagle is a boolean parameter indicating whether the Nagle Algorithm was used in creating the socket. Using the Nagle Algorithm enables improving the efficiency of the TCP/IP networks by reducing the number of packets that need to be sent over the network. The Nagle Algorithm is used to automatically concatenate a number of small buffer messages. The process of concatenating several small messages (called nagling) increases the efficiency of a network application system by decreasing the number of packets to be sent.
Values:
The default value set for the UseNagel parameter is false. The values that can be assigned to the UseNagel parameter are true/false.
MonitoringRequest
The MonitoringRequest parameter is the default monitoring request ID sent as a validation for communication.
Values:
The default value for the MonitoringRequest parameter is 13.
MonitoringResponse
The Monitoring Response parameter is the default monitoring request response sent as a validation for communication.
Values:
The default value for the Monitoring Response parameter is null.
EnforceJsseAuthentication
The EnforceJsseAuthemtication parameter checks whether authentication is to be done for JSSE client requests accept by the S. The value of this parameter is preset and useful for sockets in the server.
Values:
The default value for the EnforceJsseAuthemtication parameter is false. The values considered valid by this parameter are true/false.
· True - If client authentication is required on newly accepted connections.
· False - If client authentication is not required on newly accepted connections.
Example:
If this parameter is set to true and the client does not provide authentication information, the server socket will not continue communication with the client and the connection will be dropped.
MaxClientConnectionsCount
The MaxCientConnectionsCOunt is the maximum number of client connections allowed with the Connection Manager. A value of -1 indicates no upper limit for connections allowed.
Values:
The default value for this parameter is 1024. The values that this parameter considers valid are -1 and and any positive integer value. If this value is set to -1, there is no maximum client connection limit..
Example:
If the value for this parameter is set for 200 and 200 external connections from clients are made to the server, any attempts to create more connections which are not LPC Enabled will not be successful and all connections will be dropped.
AdminConnection (Not being used)
AdminConnection serves the client by checking whether the connection is an Administrative Connection or a Normal Connection.
Values:
The default value set for the AdminConnection parameter is false. The values considered valid by this parameter are true/false.
Path
Deprecated attribute. Please refer to SSL documentation. Root directory in which this connection manager searches for digital signatures for handling secure connections
Values:
The default value for the Path parameter is certs. Any valid file may be assigned to this parameter.
Example:
By default, the Path parameter in the FioranoMQ profile directs queries regarding digital signatures to the folder $FIORANO_HOME/fmq/profiles/FioranoMQ/certs.
ServerAddress
ServerAddress is the InetAddress of the local machine that the FioranoMQ Server needs to bind with. This option is useful when the FioranoMQ Server is running onon multi-homed machines.
Values:
The default value for the Server Address parameter is null. A valid machine name or a textual representation of the a machine’s IP address may be assigned as a value for this parameter.
Example:
If a machine has an IP address of <192.168.1.209> and hostname of <example.hostname>, either one of these may be given as its ServerAddress.
HandShakingDisabled
HandShakingDisabled is a boolean parameter indicating whether the handshake is disabled is enabled upon connection creation.
Values:
The default value for the HandShakingParameter parameter is false. The values that that are considered valid for this parameter are true/false.
· True – Set to True if a handshake between the client and the server is not needed after creating a new connection.
· False – Set to False to perform a hand shake between the client and the server after creating a new connection.
Dependencies:
Refer to the special note below.
Special Note:
When setting the value of the HandShakingDisabled parameter to true in the server set a System Property DisableHandShake=true in the client JVM when.
Caution: Setting this parameter may make the Server DOS attack prone making the client JVM hang if it is unable to set the Client System Property for the same.
ManagerClassName
Deprecated Attribute. Please refer to SSL documentation. Class Name of the Security Manager for wrapping TCP/HTTP communication. This is an implementation of IExSecurityManager. One can write and plug-in his server security manager. Possible default values are fiorano.jms.ex.sm.def.DefaultJSSESecurityManager
Values:
The default value considered valid for the ManageClassName parameter is fiorano.jms.ex.sm.def.DefaultJSSESecurityManager. The value that is considered valid for this parameter.
Example:
The ManageClassName is an implementation of IExSecurityManager. The parameter may be used to manage certificates which are used for handling secure connections.
Dependencies:
The ManageClassName parameter is used only when SSLEnabled is set to true.
FioranoMQServer
The FioranoMQServer is a boolean value that determines whether the connection created is for the FioranoMQ Server or if it is for external servers.
Values:
The default value for the FioranoMQServer parameter is true. The values considered valid for this parameter is true/false.
· True - Connection created is for the FioranoMQ Server.
· False – Connection created if for FES/FPS Servers.
UseForPeerToPeerCommunication (Not being used in FioranoMQ)
UseForPeerToPeerCommunication is a boolean parameter which determines whether the connectionManager created should be used to communicate with Peer Servers. (This parameter is applicable to FPS only.)
Values:
The default value for the UseForPeerToPeerCommunications parameter is false. The values considered valid for this parameter is true/false.
UseSystemPropsForSSL
Boolean which determines whether System properties like javax.net.ssl.keyStore to load key store and trust store for SSL Communication. If we enable this parameter, then the FioranoMQ Server assumes that the "Context", in which the SSL Server Socket is created, is initialized by the JDK using the system properties like -
· javax.net.ssl.keyStore
· javax.net.ssl.keyStorepassword
· javax.net.ssl.keyStoreType
· javax.net.ssl.trustStore
· javax.net.ssl.trustStorePassword
· javax.net.ssl.trustStoreType
· javax.net.debug
Please see SSL documentation for further information.
Valid Values:
True/False. Default value for this parameter is false.
CipherSuiteList
Semi-colon separated list of Cipher Suites to be enabled for SSL/TLS Communication. By default every cipher suite supported by JDK/JRE is enabled.
Valid Values:
Any cipher suite supported by the JDK/JRE. This list can be obtained by invoking "javax.net.ssl.SSLServerSocket.getSupportedCipherSuites()" API. Default value for this parameter is null, which means that every cipher suite supported is enabled.