This chapter explains the parameters that can be configured at the Connection Factory level. Each connection that is created to the FioranoMQ Server using the connection factory inherits the parameters that are configured for the connection factory.
For information on how to create and configure Connection Factories in FioranoMQ using eStudio, refer to the Working with Connection Factories section.
AddShutdownHook
Boolean used to enable/disable shutdown hook in the client.
Enabling this parameter ensures that the program exits normally when the non-daemon thread exits or when the exit method is invoked. This also makes sure that connections and sockets are closed properly when the virtual machine is terminated in response User interruption such as typing ^C or a system-wide event such as User log off or system shutdown.
Valid values:
- yes - enables shutdown hook.
- no - disables shutdown hook. This is the default value.
- none - uses the default value that is set in the Server.
Default Value:
- No - disables shutdown hook.
Bydefaultthe shutdown hook is disabled in client applications.
AllowDurableConnections
AllowDurableConnections is the boolean value that is used to disable or enable durable connections for a particular client when the durable connections are enabled on the Server. When AllowDurableConnections is enabled, messages get stored into the Client Side Persistence (CSP) storage during the period that connection with the Server is down.
The parameter below is used to set the durable connections to true/false in a client.
The value set in the Connection Factory is overridden by the value set in the client application. The parameter below can also be set in the client application:
Here, env is a hashtable used to create the InitialContext which stores all the JNDI parameters.
Valid values:
- yes - enables durable connections in the client This is the default value.
- no - disables durable connections in the client.
- none – uses the default value that is set in the Server.
Default Value:
- yes - enables durable connections in the client.
Dependencies: This parameter is used for client side configuration.
If durable connections are disabled in the Server and enabled in client this disables all durable connections. If durable connections are enabled in the Server, their effect is dependent on the client configuration.
AutoDispatchConnections
AutoDispatchConnections is the boolean value that is used to determine whether the dispatcher Server should be used for creating client connections. By default, this flag is enabled. If set to true, the incoming client connections are automatically redirected to the least loaded Server that is registered to the dispatcher. If set to false, connections are created on the dispatcher without being redirected.
Valid values:
- yes - enables automatic dispatching of the connection.
- no - disables automatic dispatching of the connection.
Dependencies: This parameter affects only the Dispatcher Server.
Backup ConnectURLs
Backup ConnectURLS are URLs of the Backup Servers that are used in case the Primary Server is down. Multiple backup URLs may be used but need to be separated by the use of semicolons.
Example: Backup Connect URLs can be specified as:
http://backupServer1:1856;http://backupServer2:1856
BatchTimeoutInterval
BatchTimeoutInterval is the time interval after which a batch of non-persistent messages will be sent irrespective of the size of the buffer.
Non-persistent messages are sent in batches to the Server. These batches are sent to the server when the batch size exceeds a particular size [default 32 bytes] or for the time specified by batchTimeoutInterval.
Valid values: Time is specified in milliseconds. The default time is 1000 milliseconds.
BatchingEnabled
BatchingEnabled enables message batching algorithm in the client runtimes.
If batching is enabled, non-persistent messages are sent in groups to the server which results in higher message rates. Batching has no effect on persistent messages.
Valid values:
- true: enables batching. This is the default value.
- false: disables batching.
Default value: true
BlockPublisherRetryInterval
Defines the behavior of the publisher when auto-revalidation is enabled on the server and when PublishBehaviourInAutoRevalidation is set to Block.It signifies the time interval to sleep on each retry attempts, that is, the value specified in "MaxBlockPublisherRetryAttempts".
Valid value: Time in milliseconds. The default value is set to 1 second.
ClientProxyURL
ClientProxyURL parameter holds the configuration information of the client proxy provider for HTTP tunneling.
Valid value:
- String - value that contains information about the proxy provider.
Example: http://ClientProxyServer:80
CompressionManager
CompressionManager implementation is used for compressing messages. The Compression Manager specified is the implementation of the fiorano.jms.services.msg.compression.ICompressionManager interface provided by FioranoMQ.
Valid value:
Class path of the implemented Compression Manager Set as the default value: fiorano.jms.services.msg.compression.def.CompressionManagerImpl
Connection ClientID
Connection ClientID is used for all the connections that are created using this connection factory.
Valid value: String value
Dependencies: This parameter depends on EnsureUniquenessOfClientID of FioranoMQ > Fiorano > etc > FMQConfigLoader. If EnsureUniquenessOfClientID is set to "true", no two connections can have the same clientID. Setting the ConnectionClientID will throw exceptions when more than one connection is created with the Connection Factory.
CreateLocalSocket
CreateLocalSocketparameter is used when both the Client and the Server share the same machine.
If set to true a socket is created when the client connects to the Server. If set to false no socket is created when local connections are made.
Valid values:
- yes - creates a local socket.
- no - does not create a local socket. This is the default value.
Default Value: no
Disable Ping
Disable Ping is the boolean value used to disable pinging for a particular client when pinging is enabled on the server.
If ping is enabled, the client will ping the Server for every PING_INTERVAL seconds which are, by default, set to 60 seconds. If a reply is not received from the Server, the client will re-validate the connection.
Valid values:
- yes - pinging is disabled on the client-side.
- no - pinging is enabled on the client-side. This is the default value.
- none - the default value is used.
DisableSendingCSPStoredMessages
DisableSendingCSPStoredMessages is the boolean value that is used to disable sending pending messages stored in the CSP to the Server.
When a connection with particular clientID is interrupted and if Durable Connections are enabled, messages will be stored in the local cache under the clientID of the connection. If this flag is enabled, these messages will not be sent in the setClientID () call.
Valid values:
- true - yes - disables sending messages stored in the CSP when the client ID is set.
- False - no - enables sending messages stored in the CSP when the client ID is not set.
JNDI name
Example:
Usage
This parameter is set when the messages stored in the CSP are NOT to be sent once a connection is re-established with the Server.
Example: The Server is started with the durable connection enabled. A publisher and a subscriber are started. The publisher has the DONT_SEND_PREVIOUSLY_STORED_MESSAGES flag set to true. The server is shutdown. The publisher publishes a few messages and is shutdown as well. The server and the publisher are restarted. The subscriber does not receive the messages sent by the publisher while the Server was down.
DurableConnectionReconnectInterval
DurableConnectionsReconnectInterval is the time interval between two re-connection attempts. When a client is disconnected from the Server with auto revalidation enabled, the client repeatedly tries to reconnect to the Server in the form of a loop. The time between each successive try is set using this flag.
Valid value: This value is set in Milliseconds. The default time interval is 1000 milliseconds.
DurableConnectionsBaseDir
When durable connections are enabled and the Server goes down, client-side messages are stored on the local disk while the connection is revalidated. The DurableConnectionsBaseDir parameter specifies the name of the base directory where messages persist.
Valid value: Any string value that may be considered a directory name.
The default value is set to cspCache. Messages persist in the directory cspCache if no other variable set.
EnableAutoRevalidation
EnableAutoRevalidation is the boolean value that is used to disable auto-revalidation for a particular client. By enabling auto revalidation a client attempts to reconnect to the Server when the Server is down.
Valid value:
- yes - enables auto revalidation for the client. This is the default value.
- no - disables auto revalidation for the client.
The default value is set to enabled.
Revalidation is occurred by the client only when auto revalidation is enabled on the Server. Revalidation by the client does not occur if auto revalidation is disabled on the Server and enabled in the Connection Factory parameter.
The Server value takes precedence over the Connection Factory parameter or the parameter set by the client.
EnableLMS
EnableLMS is the boolean value that is used to enable/disable Large Message Support (LMS).
Valid values:
- yes - enables LMS on the client-side. This is the default value.
- no - disables LMS on the client-side.
Dependencies: UseFioranoCbr flag should be set to no for LMS to work. LMS does not work if AllowDurableConnections is set to true. LMS does not work in the case of HA.
HTTPProxyURL
The HTTPProxyURL parameter holds the configuration information of the HTTP proxy provider.
Valid value: A String value containing information about the proxy provider:
Example: http://ProxyServer:80
isThreadContextClassLoaderUsed
Sets the value of USE_THREAD_CONTEXT_CLASS_LOADER.
Valid values: yes/no/none
java.naming.security.protocol
Java.naming.security.protocol is the name of the security protocol used to create secure connections with the FioranoMQ Server.
Valid value: The possible values that this variable can take are PHAOS_SSL and SUN_SSL.
LazyThreadCreation
Boolean to determine whether the actual creation of connection needs to be delayed till the point at which the connection/session object is required to be used by the server. Enabling this flag, the client application call to createConnection using a unified connection factory will return the connection of type "javax.jms.Connection", but the actual connection to the server will be delayed till the returned unified connection and the session created under the unified connection is used to perform actions such as consumer/producer creation, queue/topic creation, queue/topic browser creation, connection metadata retrieval, and message creation.
Valid values:
- true - creation of unified session and unified connections will be delayed.
- false - creation of unified sessions and unified connections will not be delayed.
- none - uses the default value that is set in the Server
Default Value: true - for all unified connection factories.
LookupPreferredServer
LookupPreferredServer is the boolean value that is used to instruct the client to connect to the preferred Server. When this parameter is enabled, clients connecting to the Dispatcher are redirected to the Server that is set as the preferred Server. If this parameter is disabled, clients will be connected to the least loaded Server.
Valid values:
- yes - enables Lookup Preferred Server
- no - disables Lookup Preferred Server
Dependencies: This parameter is used only by a Dispatcher Server.
MaxAdminConnectionReconnectAttempts
The MaxAdminConnectionReconnectAttempts are the maximum number of reconnect attempts that will be made by the Admin Connection to connect to the Server when the Server is down.
Valid value: Any positive integer value. By default, this parameter is set to -1. (Infinite attempts.)
MaxBlockPublisherRetryAttempts
Defines the behavior of the publisher when auto-revalidation is enabled on the server and when PublishBehaviourInAutoRevalidation is set to Block.It signifies the number of retry attempts to make when the server is in transition state i.e STANDALONE state and then to ACTIVE TRANSITION to ACTIVE.
Valid value: Any positive integer value. The default value is 10.
MaxDurableConnectionReconnectAttempts
MaxDurableConnectionReconnectAttempts are the maximum number of reconnect attempts that the client will make if it is unable to connect to the Server when the Server is down.
Valid value: Any positive integer value. By default, this parameter is set to -1. (Infinite attempts.)
MaxSocketCreationTries
MaxSocketCreationTries are the maximum number of attempts that the client will make to create a socket connection on a Server when it is unable to connect to the Server. If it fails to connect within the specified number of attempts an exception is thrown on the client-side.
Valid value: Any positive integer value. By default, this value is 1.
MessageProduceTimeout
MessageProduceTimeout is the integer value that is used to set the maximum amount of time a producer thread can get blocked under any circumstance.
It makes use of the FailFast feature which makes sure that the publisher does not get blocked for more than the configured value.
Units: Milliseconds
Valid values: Positive integer values
Default Value: 240000 (4 mins)
ProxyAuthenticationRealm
ProxyAuthenticationRealm holds the address of the Authentication Realm being used on the proxy Server through which HTTP based connections created using the ConnectionFactory are routed.
Valid value: String representing the address of the proxy Server on which the Authentication Realm exists.
Dependencies: This property is used only when the Transport Protocol is set to HTTP.
ProxyCredentials
ProxyCredentials is the password of the proxy principal which is used when the proxy Server is used.
ProxyPrincipal
ProxyPrincipal is the name of the proxy principal used when the proxy is used.
ProxyType
Sets the type (name) of the proxy being used for the HTTP based connections created using the ConnectionFactory. This property is used only when the Transport Protocol is set to HTTP.
Valid values:
- MS_ISA_PROXY
- WIN_PROXY
- NETSCAPE_PROXY
- WINGATE_PROXY
- DEFAULT_PROXY
PublishBehaviourInAutoRevalidation
PublishBehaviousinAutoRevalidation parameter defines the behavior of the publisher when the auto revalidation is enabled and the durable connections are disabled in the Server. A new publish call will either throw an exception, or block or ignore a message. By default, the value of this parameter is - throw exception.
Valid values:
- 0 – Exception - Throws an exception upon publishing messages. This happens when the Server is down, auto revalidation is enabled but durable connections are disabled.
- 1 - Ignore - Ignores further publish message calls. All messages sent when the server is not up will be lost. (The same conditions as above.)
- 2 – Block - Blocks further messages from being published until auto revalidation is performed. (The same conditions as above.)
JNDI name:
Usage: This parameter is used to prevent exceptions from being thrown when messages are sent during auto revalidation undertaken when durable connections disabled. The User may either choose to ignore the messages sent till auto revalidation is done or the User may prevent sending messages till auto revalidation is complete.
Example: If the FioranoMQ Server is used for real-time trading, old messages cannot be used. If the Server is down the publisher should not send any messages as these will be sent once the Server is up and running. The flag should, therefore, be set to 2 which blocks the publisher from sending messages when connection with the server is down.
Dependencies: If these parameters are present in the client then EnableAutoRevalidation must be set to true and AllowDurableConnections must be set to false.
PublishWaitDuringCSPSyncup
When the Server is disconnected, messages are stored in the CSP on the local machine. When the Server is reconnected, messages stored in the CSP are sent to the Server while current messages are being stored in the CSP with some wait-time. The publish call waits for CSPSyncup time specified by the PublishWaitDuringCSPSyncup parameter until the CSP messages are sent to the Server. After all CSP messages are sent, the publisher sends messages normally without any delay time.
Valid value: Time is specified in milliseconds. The default value is 1000 milliseconds.
SecurityManager
The SecurityManager implementation is used to create secure connections [HTTPS or SSL] with the FioranoMQ Server. This manager should be an implementation of the fiorano.jms.runtime.IFMQSecurityManager interface provided by FioranoMQ.
Valid value:Class path to the security Manager class.
ServerProxyURL
The ServerProxyURL parameter holds the URL for the Server proxy through which TCP based Connections will be routed using HTTP Tunneling.
- Valid value: String value that contains information about the proxy provider.
- Example: http://ClientProxyServer:80
- Dependencies: This URL will be used only when the Transport Protocol is set to TCP.
SleepBetweenSocketCreationTries
SleepBetweenSocketCreationTries is the time interval between two socket creation attempts. While creating a connection to the server, client RTL creates sockets on the Server. If the Server is unavailable at that time, RTL tries to create a socket for as many times as specified in the parameter – MaxSocketCreationTries. Between successive tries, the RTL waits for the time specified in this parameter.
Valid value: Time is specified in milliseconds. The default sleep time is 200 milliseconds.
SocketKeepAliveEnabled
Once the property is set to true, packets are sent to the remote system when no data is being exchanged to keep the connection active. This is handled by the TCP layer itself.
By default, this value is off.
SocketTimeout
SocketTimeout is the time interval after which the socket calls a timeout. Timeout is when the flow of execution is stopped if still awaiting a reply from the socket. If the connection to the Server is lost, applications hang onto the socket for the maximum time set by this parameter.
Valid value: Time is specified in milliseconds. The default timeout value is set to four minutes.
SocksProxyURL
Sets the URL for the SOCKS Proxy through which HTTP based connections are routed.
Dependencies: This URL will be used only when the Transport Protocol is set to HTTP.
TCPBatchSize
Non-persistent messages are sent to the Server in batches. The TCPBatchSize parameter determines the size of the batch. If the message batch size exceeds the size determined, the batch is sent to the Server or the messages are stored in a buffer.
Valid value: The size is specified in bytes. The default value is 32KB
Dependencies: Batching should be enabled if this parameter is to be used. If BatchTimeoutInterval completes before the message batch size, then messages are sent to the Server irrespective of the batch size.
TransportProtocol
Protocolused for communicating with the Server.
Valid value: Transport protocol can be set to either TCP or HTTP.
UseFioranoCbr
The UseFioranoCbr parameter enables/disables Content Based Routing (CBR). CBR allows XPath based selection on messages with XML content. For more information please refer to chapter 18: FioranoMQ Content Based Routing available in the FioranoMQ Concept Guide.
Valid value:
- yes - enables Fiorano CBR.
- no - disables FioranoCBR.
UpdateConnectURL
UpdateConnectURL is the boolean value that is used to specify whether a ‘connect URL’ of the connection factory should be updated when the Server restarts.
Valid values:
- yes - updates the connectURL
- no - does not update the connectURL
By default this value is false.
UseLocalProcedureCalls
UseLocalProcedureCalls is the boolean value used to enable/disable Local Procedure Calls (LPC). If this parameter is enabled then clients within the server using the Connection Factory will connect to the Server directly, without making any socket connections.
Valid values:
- yes - enables LPC.
- no - disables LPC. This is the default value.
By default, LPC is disabled.
UseSingleSocketForSendReceive
By default, FioranoMQ uses two sockets per connection. One socket is used for sending requests and another for receiving messages. This property allows the User to use the same socket for, both, send and receive operations.
Valid values:
- yes - uses a single socket for send and receive.
- no - uses twosocket for send and receive.
By default, this is true.
XASocketTimeout
Time interval after which the socket call will timeout in the XA enabled Server.
Valid value: Time is specified in milliseconds. The default timeout value is set to ten minutes.