Class ConnectionConfiguration

java.lang.Object
com.sun.messaging.ConnectionConfiguration

public class ConnectionConfiguration extends Object
The ConnectionConfiguration class contains OpenMQ specific connection configuration property names and special values.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    If this property is set to true, the MQ Client Runtime will abort the connection to the MQ broker when timeout, as specified by imqPingAckTimeout, in waiting for a 'ping' reply or any data sent from the MQ broker since last 'ping', then the MQ Client Runtime will perform actions as if the connection is broken.
    static final String
    This property is used to control the reliability of message acknowledgement for every message that is consumed by a MessageConsumer.
    static final String
    This property is used to control the reliability of every message that is produced by a MessageProducer.
    static final String
    This property holds the the maximum time, in milliseconds, that a OpenMQ Client Application will wait before throwing a JMSException when awaiting an acknowledgement from the OpenMQ Message Service.
    static final String
    This property holds the address list that will be used to connect to the OpenMQ Message Service.
    static final String
    This property determines how OpenMQ will select entries from the imqAddressList property to use when making a connection to the OpenMQ Message Service.
    static final String
    This property holds the number of times that OpenMQ will iterate through imqAddressList when connecting to the OpenmMQ Service.
    static final String
    This property holds the the minimum time, in milliseconds, that the MQ client runtime will wait for an asynchronous send to complete before calling the CompletionListener's onException method with timed out exception
    static final String
    This property holds the hostname that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.
    static final String
    This property holds the Primary Port number that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.
    static final String
    This property holds the connection service name that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.
    static final String
    This property holds the actual port number that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.
    static final String
    This property holds the value of an administratively configured ClientID.
    static final String
    This property manages the number of JMS messages that will flow from the OpenMQ Message Service to the MQ Client between each 'resume flow' notification from the Client to the Message Service to receive additional JMS messages.
    static final String
    This property specifies the number of uncomsumed JMS messages that a OpenMQ Client can hold, above which the MQ Client will refrain from sending a 'resume flow' notification to the OpenMQ Message Service.
    static final String
    This property indicates whether the OpenMQ Client should limit the flow of JMS messages from the OpenMQ Message Service using the number of messages specified in imqConnectionFlowLimit.
    static final String
    This property holds the name of the class that will be used to handle the connection to the OpenMQ Message Service and is required when the value of the imqConnectionType property is set to ...
    static final String
    This property holds the connection type used to connect to the OpenMQ Message Service.
    static final String
    This property holds the URL that will be used when connecting to the OpenMQ Message Service using the HTTP ConnectionHandler class provided with OpenMQ.
    static final String
    This property specifies the upper limit of the number of messages per consumer that will be delivered and buffered in the MQ client.
    static final String
    When this property is set to false, there will be no prefetch next message (except the first message) from broker to a consumer, and consumer flow control properties imqConsumerFlowLimit and imqConsumerFlowThreshold will be ignored.
    static final String
    This property controls when JMS message delivery will resume to consumers that have had their message delivery stopped due to the number of messages buffered in the MQ client exceeding the limit set by imqConsumerFlowLimit and is expressed as a percentage of imqConsumerFlowLimit .
    static final String
    This property holds the default password that will be used to authenticate with the OpenMQ Message Service.
    static final String
    This property holds the default username that will be used to authenticate with the OpenMQ Message Service.
    static final String
    This property indicates whether the OpenMQ Client Application is prevented from changing the ClientID using the setClientID() method in jakarta.jms.Connection.
    static final String
    This property indicates whether the client identifier requested and used by this connection is to be acquired in 'shared' mode.
    static final String
    This property holds the administratively configured value of the JMS Message Header JMSDeliveryMode.
    static final String
    This property holds the administratively configured value of the JMS Message Header JMSExpiration.
    static final String
    This property holds the administratively configured value of the JMS Message Header JMSPriority.
    static final String
    This property specifies the key store location
    static final String
    This property specifies the key store password.
    static final String
    This property indicates how the OpenMQ ConnectionConsumer should load messages into a ServerSession's JMS Session.
    static final String
    For AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE, maximum redelivery attempts (>= 1) when a jakarta.jms.MessageListener.onMessage() throws RuntimeException.
    static final String
    For AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE, the interval in milliseconds for each subsequent redelivery attempt after first attempt when a jakarta.jms.MessageListener.onMessage() throws RuntimeException.
    static final String
    This property indicates whether OpenMQ should override the JMS Message Header JMSDeliveryMode which can be set using the JMS APIs.
    static final String
    This property indicates whether OpenMQ should override the JMS Message Header JMSExpiration which can be set using the JMS APIs.
    static final String
    This property indicates whether OpenMQ should override the JMS Message Headers on Messages that are sent to Temporary Destinations.
    static final String
    This property indicates whether OpenMQ should override the JMS Message Header JMSPriority which can be set using the JMS APIs.
    static final String
    When imqAbortOnPingAckTimeout is true, this property specifies maximum time, in milliseconds, that MQ Client Runtime will wait for a ping reply or any data sent from the MQ broker since last 'ping'.
    static final String
    This property specifies the 'ping' interval, in seconds, between successive attempts made by an MQ Connection to verify that its physical connection to the MQ broker is still functioning properly.
    static final String
    This property defines port mapper client socket read timeout, in milliseconds.
    static final String
    This property holds the the maximum number of messages that will be retrieved at one time when a OpenMQ Client Application is enumerating through the messages on a Queue using a QueueBrowser.
    static final String
    This property holds the the maximum time, in milliseconds, that a OpenMQ Client Application will wait before throwing a NoSuchElementException when retrieving elements from a QueueBrowser Enumeration.
    static final String
    This property holds the number of reconnect attempts for each address in the imqAddressList property that the OpenMQ Client Application will make before moving on the the next address in imqAddressList.
    static final String
    This property indicates whether the OpenMQ Client Application will attempt to reconnect to the OpenMQ Message Service upon losing its connection.
    static final String
    This property specifies the interval, in milliseconds, between successive reconnect attempts made by the MQ Client Application to the OpenMQ Message Service.
    static final String
    This property indicates whether OpenMQ should set the JMSXAppID property on produced messages.
    static final String
    This property indicates whether OpenMQ should set the JMSXConsumerTXID property on consumed messages.
    static final String
    This property indicates whether OpenMQ should set the JMSXProducerTXID property on produced messages.
    static final String
    This property indicates whether OpenMQ should set the JMSXRcvTimestamp property on consumed messages.
    static final String
    This property indicates whether OpenMQ should set the JMSXUserID property on produced messages.
    static final String
    This property defines the socket timeout, in milliseconds, used when a TCP connection is made to the broker.
    static final String
    This property indicates whether the host is trusted when connecting to the OpenMQ Message Service using the TLS ConnectionHandler class provided with OpenMQ.
    static final String
    This property holds the TLS Provider Classname that will be used when connecting to the OpenMQ Message Service using the TLS ConnectionHandler class provided with OpenMQ.
    static final String
    This constant is used to set the value of imqJMSDeliveryMode to NON_PERSISTENT when the JMSDeliveryMode JMS Message Header is administratively configured.
    static final String
    This constant is used to set the value of imqJMSDeliveryMode to PERSISTENT when the JMSDeliveryMode JMS Message Header is administratively configured.
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • imqAddressList

      public static final String imqAddressList
      This property holds the address list that will be used to connect to the OpenMQ Message Service.

      Message Server Address Syntax

      The syntax for specifying a message server address is as follows:

      scheme://address_syntax

      where the scheme and address_syntax are described in the folowing table.

      scheme and address_syntax for a message server address
      Scheme Connection Service Description Syntax
      mq jms
      and
      ssljms
      The MQ Port Mapper at the specified host and port will handle the connection request, dynamically assigning a port based on the specified connection service. Once the port number is known, MQ makes the connection. [hostName][:port][/serviceName]
      Defaults (for jms service only):
      hostName = localhost
      port = 7676
      serviceName = jms
      mqtcp jms MQ makes a direct tcp connection to the specified host and port to establish a connection. hostName:port/jms
      mqssl ssljms MQ makes a direct, secure ssl connection to the specified host and port to establish a connection. hostName:port/ssljms
      htttp httpjms MQ makes a direct HTTP connection to the specified MQ tunnel servlet URL. (The broker must be configured to access the tunnel servlet.) HTTPtunnelServletURL
      htttps httpsjms MQ makes a direct HTTPS connection to the specified MQ tunnel servlet URL. (The broker must be configured to access the tunnel servlet.) HTTPStunnelServletURL
      mqws wsjms MQ makes a direct WebSocket connection to the specified host and port to establish a connection. hostName:port/wsjms
      mqwss wssjms MQ makes a direct WebSocket secure connection to the specified host and port to establish a connection. hostName:port/wssjms

       

      The following table shows how the message server address syntax applies in some typical cases.

      typical message server address syntax applications
      Connection Service Broker Host Port Example Address
      Unspecified Unspecified Unspecified Default
      (mq://localHost:7676/jms)
      Unspecified Specified Host Unspecified myBkrHost
      (mq://myBkrHost:7676/jms)
      Unspecified Unspecified Specified Portmapper Port 1012
      (mq://localHost:1012/jms)
      ssljms Local Host Default Portmapper Port mq://localHost:7676/ssljms
      ssljms Specified Host Default Portmapper Port mq://myBkrHost:7676/ssljms
      ssljms Specified Host Specified Portmapper Port mq://myBkrHost:1012/ssljms
      jms Local Host Specified Service Port mqtcp://localhost:1032/jms
      ssljms Specified Host Specified Service Port mqssl://myBkrHost:1034/ssljms
      httpjms N/A N/A http://websrvr1:8085/imq/tunnel
      httpsjms N/A N/A https://websrvr2:8090/imq/tunnel
      wsjms Specified Host Specified Service Port mqws://websrvr1:7670/wsjms
      wssjms Specified Host Specified Service Port mqwss://websrvr2:7671/wssjms

       

      The default value of this property is empty

      See Also:
    • imqAddressListIterations

      public static final String imqAddressListIterations
      This property holds the number of times that OpenMQ will iterate through imqAddressList when connecting to the OpenmMQ Service.

      The default value of this property is 1

      See Also:
    • imqAddressListBehavior

      public static final String imqAddressListBehavior
      This property determines how OpenMQ will select entries from the imqAddressList property to use when making a connection to the OpenMQ Message Service.

      The acceptable values for this property are PRIORITY and RANDOM.

      When PRIORITY is used, OpenMQ will start with the firstentry in imqAddressList when attempting to make the first connection to the OpenMQ Message Service.

      Subsequently, when OpenMQ is attempting to re-connect to the Message Service, it will use successive entries from imqAddressList in the order they are specified.

      When RANDOM is used, OpenMQ will start with a random entry in imqAddressList when attempting to make the first connection to the OpenMQ Message Service.

      Subsequently, when OpenMQ is attempting to re-connect to the Message Service, it will use entries in the order they are specified in imqAddressList starting with the initial randomly chosen entry.

      The default value of this property is PRIORITY

      See Also:
    • imqConnectionType

      public static final String imqConnectionType
      This property holds the connection type used to connect to the OpenMQ Message Service.

      Note that this property is superseded by the imqAddressList property and is present only for compatibility with MQ 3.0 clients. This property may be removed in the next major version of MQ.

      The default value of this property is TCP

      The allowable values are TCP,TLS,HTTP,and the special value - ...

      When the special value of ... is used, the classname specified in the property imqConnectionHandler is required to handle the connection to the OpenMQ Message Service.

      See Also:
    • imqConnectionHandler

      public static final String imqConnectionHandler
      This property holds the name of the class that will be used to handle the connection to the OpenMQ Message Service and is required when the value of the imqConnectionType property is set to ...

      This property is not normally specified and will assume the classname handling the ConnectionType specified in imqConnectionType. However, if specified, this property overrides imqConnectionType.

      The default value of this property is com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler

      See Also:
    • imqDefaultUsername

      public static final String imqDefaultUsername
      This property holds the default username that will be used to authenticate with the OpenMQ Message Service.

      The default value of this property is guest

      See Also:
    • imqDefaultPassword

      public static final String imqDefaultPassword
      This property holds the default password that will be used to authenticate with the OpenMQ Message Service.

      The default value of this property is guest

      See Also:
    • imqAckTimeout

      public static final String imqAckTimeout
      This property holds the the maximum time, in milliseconds, that a OpenMQ Client Application will wait before throwing a JMSException when awaiting an acknowledgement from the OpenMQ Message Service.

      A value of 0 indicates that it will wait indefinitely.

      The default value for this property is 0 i.e. indefinitely.

      See Also:
    • imqAsyncSendCompletionWaitTimeout

      public static final String imqAsyncSendCompletionWaitTimeout
      This property holds the the minimum time, in milliseconds, that the MQ client runtime will wait for an asynchronous send to complete before calling the CompletionListener's onException method with timed out exception

      A value of 0 is not allowed.

      The default value for this property is 180000

      See Also:
    • imqReconnectEnabled

      public static final String imqReconnectEnabled
      This property indicates whether the OpenMQ Client Application will attempt to reconnect to the OpenMQ Message Service upon losing its connection.

      The default value for this property is false

      See Also:
    • imqReconnectInterval

      public static final String imqReconnectInterval
      This property specifies the interval, in milliseconds, between successive reconnect attempts made by the MQ Client Application to the OpenMQ Message Service.

      The default value for this property is 30000 milliseconds.

      See Also:
    • imqReconnectAttempts

      public static final String imqReconnectAttempts
      This property holds the number of reconnect attempts for each address in the imqAddressList property that the OpenMQ Client Application will make before moving on the the next address in imqAddressList. will make in trying to reconnect to the OpenMQ Message Service. A value of -1 indicates that the MQ Client Application will make an unlimited number of reconnect attempts.

      Note that this property is only applicable when imqReconnectEnabled is set to true.

      The default value for this property is 0 - i.e. No reconnect attempts.

      See Also:
    • imqPingInterval

      public static final String imqPingInterval
      This property specifies the 'ping' interval, in seconds, between successive attempts made by an MQ Connection to verify that its physical connection to the MQ broker is still functioning properly. The MQ Client Runtime uses this value to set up the frequency of 'pings' made by MQ Connections that originate from this ConnectionFactory. Valid values include all positive integers indicating the number of seconds to delay between successive 'pings'. A value of 0, or -1 indicates that the MQ Connection will disable this 'ping' functionality.

      The default value for this property is 30 - i.e. 30 seconds between 'pings'.

      See Also:
    • imqPingAckTimeout

      public static final String imqPingAckTimeout
      When imqAbortOnPingAckTimeout is true, this property specifies maximum time, in milliseconds, that MQ Client Runtime will wait for a ping reply or any data sent from the MQ broker since last 'ping'. This property is ignored if imqAbortOnPingAckTimeout is false.

      A value of 0 indicates no timeout

      The default value for this property is 0

      See Also:
    • imqSocketConnectTimeout

      public static final String imqSocketConnectTimeout
      This property defines the socket timeout, in milliseconds, used when a TCP connection is made to the broker. A timeout of zero is interpreted as an infinite timeout. The connection will then block until established or an error occurs. This property is used when connecting to the port mapper as well as when connecting to the required service.
      See Also:
    • imqPortMapperSoTimeout

      public static final String imqPortMapperSoTimeout
      This property defines port mapper client socket read timeout, in milliseconds.

      A value of 0 indicates no timeout

      The value of this property is set to 60000 by default.

      See Also:
    • imqKeyStore

      public static final String imqKeyStore
      This property specifies the key store location

      The value of this property is not set by default.

      See Also:
    • imqKeyStorePassword

      public static final String imqKeyStorePassword
      This property specifies the key store password. Set this property to a non-null value will make the connection capable of SSL client authenication if requested by broker. If it is set to empty string, Java system property javax.net.ssl.keyStorePassword will be used if set

      The value of this property is not set by default.

      See Also:
    • imqAbortOnPingAckTimeout

      public static final String imqAbortOnPingAckTimeout
      If this property is set to true, the MQ Client Runtime will abort the connection to the MQ broker when timeout, as specified by imqPingAckTimeout, in waiting for a 'ping' reply or any data sent from the MQ broker since last 'ping', then the MQ Client Runtime will perform actions as if the connection is broken.
      See Also:
    • imqSetJMSXAppID

      public static final String imqSetJMSXAppID
      This property indicates whether OpenMQ should set the JMSXAppID property on produced messages.

      The default value of this property is false

      See Also:
    • imqSetJMSXUserID

      public static final String imqSetJMSXUserID
      This property indicates whether OpenMQ should set the JMSXUserID property on produced messages.

      The default value of this property is false

      See Also:
    • imqSetJMSXProducerTXID

      public static final String imqSetJMSXProducerTXID
      This property indicates whether OpenMQ should set the JMSXProducerTXID property on produced messages.

      The default value of this property is false

      See Also:
    • imqSetJMSXConsumerTXID

      public static final String imqSetJMSXConsumerTXID
      This property indicates whether OpenMQ should set the JMSXConsumerTXID property on consumed messages.

      The default value of this property is false

      See Also:
    • imqSetJMSXRcvTimestamp

      public static final String imqSetJMSXRcvTimestamp
      This property indicates whether OpenMQ should set the JMSXRcvTimestamp property on consumed messages.

      The default value of this property is false

      See Also:
    • imqBrokerHostName

      public static final String imqBrokerHostName
      This property holds the hostname that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.

      Note that this property is superseded by the imqAddressList property and is present only for compatibility with MQ 3.0 clients. This property may be removed in the next major version of MQ.

      The default value of this property is localhost

      See Also:
    • imqBrokerHostPort

      public static final String imqBrokerHostPort
      This property holds the Primary Port number that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.

      Note that this property is superseded by the imqAddressList property and is present only for compatibility with MQ 3.0 clients. This property may be removed in the next major version of MQ.

      The OpenMQ Client uses this port to communicate with the Port Mapper Service to determine the actual port number of the connection service that it wishes to use.

      The default value of this property is 7676

      See Also:
    • imqBrokerServiceName

      public static final String imqBrokerServiceName
      This property holds the connection service name that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.

      Note that this property is superseded by the imqAddressList property and is present only for compatibility with MQ 3.0 clients. This property may be removed in the next major version of MQ.

      By default, when the value of this property is null, the MQ Client uses the Primary Port to connect to the MQ Message Service and subsequently uses the first connection service that corresponds to imqConnnectionType.

      When the value of this property is non-null, the MQ Client will first connect to the Port Mapper Service and then use the connection service that matches imqBrokerServiceName ensuring that it corresponds to the right imqConnectionType.

      The default value of this property is null

      See Also:
    • imqBrokerServicePort

      public static final String imqBrokerServicePort
      This property holds the actual port number that will be used to connect to the OpenMQ Message Service using the TCP and TLS ConnectionHandler classes provided with OpenMQ.

      Note that this property is superseded by the imqAddressList property and is present only for compatibility with MQ 3.0 clients. This property may be removed in the next major version of MQ.

      By default, when the value of this property is 0, the MQ Client uses the Primary Port to connect to the MQ Message Service and subsequently determines the actual port number of the connection service that it wishes to use.

      When the value of this property is non-zero, the MQ Client will use this port number to directly connect to the connection service that it wishes to use without first communicating with the Port Mapper Service

      The default value of this property is 0

      See Also:
    • imqSSLProviderClassname

      public static final String imqSSLProviderClassname
      This property holds the TLS Provider Classname that will be used when connecting to the OpenMQ Message Service using the TLS ConnectionHandler class provided with OpenMQ.

      The default value of this property is com.sun.net.ssl.internal.ssl.Provider

      See Also:
    • imqSSLIsHostTrusted

      public static final String imqSSLIsHostTrusted
      This property indicates whether the host is trusted when connecting to the OpenMQ Message Service using the TLS ConnectionHandler class provided with OpenMQ.

      If this value is set to false, then the Root Certificate provided by the Certificate Authority must be available to the MQ Client Application when it connects to the MQ Message Service.

      The default value of this property is false

      See Also:
    • imqConnectionURL

      public static final String imqConnectionURL
      This property holds the URL that will be used when connecting to the OpenMQ Message Service using the HTTP ConnectionHandler class provided with OpenMQ.

      Note that this property is superseded by the imqAddressList property and is present only for compatibility with MQ 3.0 clients. This property may be removed in the next major version of MQ.

      Since the URL may be shared by multiple message service instances, the optional ServerName attribute can be used to identify a specific message service address. The ServerName attribute is specified using the standard query string syntax. For example - http://localhost/imq/tunnel?ServerName=localhost:imqbroker

      The default value of this property is http://localhost/imq/tunnel

      See Also:
    • imqDisableSetClientID

      public static final String imqDisableSetClientID
      This property indicates whether the OpenMQ Client Application is prevented from changing the ClientID using the setClientID() method in jakarta.jms.Connection.

      The default value of this property is false

      See Also:
    • imqConfiguredClientID

      public static final String imqConfiguredClientID
      This property holds the value of an administratively configured ClientID.

      The default value of this property is null

      See Also:
    • imqEnableSharedClientID

      public static final String imqEnableSharedClientID
      This property indicates whether the client identifier requested and used by this connection is to be acquired in 'shared' mode.

      When a client identifier is used in 'shared' mode, other connections are also allowed to use the same client identifier.

      If a client identifier is already in use in 'unique' mode, then a request to set a client identifier in 'shared' mode will fail. Likewise, if a client identifier is already in use in 'shared' mode, then a request to set a client identifier in 'unique' mode will fail.

      The default value of this property is false - i.e. a client identifier will be requested in 'unique' mode.

      See Also:
    • imqAckOnProduce

      public static final String imqAckOnProduce
      This property is used to control the reliability of every message that is produced by a MessageProducer.

      The value of this property is used only when it is set. If the property is left unset, (the default behavior), the OpenMQ Client will ensure that every PERSISTENT message that is produced has been received by the OpenMQ Message Service before returning from the send() and publish() methods.

      If this property is set to true, then the MQ Client will always wait until it ensures that the message has been reecived by the MQ Message Service before returning from the send() and publish() methods.

      If this property is set to false, then the MQ Client will not wait until it ensures that the message has been reecived by the MQ Message Service before returning from the send() and publish() methods.

      When this property is used, it applies to all messages and not just the PERSISTENT messages.

      The value of this property is not set by default.

      See Also:
    • imqAckOnAcknowledge

      public static final String imqAckOnAcknowledge
      This property is used to control the reliability of message acknowledgement for every message that is consumed by a MessageConsumer.

      The value of this property is used only when it is set. If the property is left unset, (the default behavior), the OpenMQ Client will ensure that the acknowledgment for every PERSISTENT message that is consumed, has been received by the OpenMQ Message Service before the appropriate method returns - i.e. either the Message.acknowledge() method in the CLIENT_ACKNOWLEDGE mode or the receive() and/or onMessage() methods in the AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE modes and transacted Sessions.

      If this property is set to true, then the MQ Client will always wait until it ensures that the acknowledgement for the message has been reecived by the MQ Message Service before returning from the send() and publish() methods.

      If this property is set to false, then the MQ Client will not wait until it ensures that the acknowledgement for the message has been reecived by the MQ Message Service before returning from the appropriate method that is responsible for sending the acknowledgement - i.e. either the Message.acknowledge() method in the CLIENT_ACKNOWLEDGE mode or the receive() and/or onMessage() methods in the AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE modes and transacted Sessions.

      The value of this property is not set by default.

      See Also:
    • imqConsumerFlowLimit

      public static final String imqConsumerFlowLimit
      This property specifies the upper limit of the number of messages per consumer that will be delivered and buffered in the MQ client. When the number of JMS messages delivered to a consumer reaches this limit, message delivery for that consumer stops. Message delivery is only resumed when the number of unconsumed messages for that consumer drops below the value determined using imqConsumerFlowThreshold property.

      When a consumer is created, JMS messages for that consumer will begin to flow to the connection on which the consumer has been established. When the number of messages delivered to the consumer reaches the limit set by imqConsumerFlowLimit, delivery of messages is stopped. As messages are consumed, the number of unconsumed messages buffered in the MQ client drops.

      When the number of unconsumed messages drops below the number determined by using imqConsumerFlowThreshold, as a percentage of imqConsumerFlowLimit, MQ resumes delivery of messages to that consumer until the number of messages delivered to that consumer reaches the limit set by imqConsumerFlowLimit.

      Note that the actual value of the message flow limit used by MQ for each consumer is the lower of two values - the imqConsumerFlowLimit set on the ConnectionFactory and the consumerFlowLimit value set on the physical destination that the consumer is established on.

      The default value for this property is 1000

      See Also:
    • imqConsumerFlowThreshold

      public static final String imqConsumerFlowThreshold
      This property controls when JMS message delivery will resume to consumers that have had their message delivery stopped due to the number of messages buffered in the MQ client exceeding the limit set by imqConsumerFlowLimit and is expressed as a percentage of imqConsumerFlowLimit .

      See the description for the imqConsumerFlowLimit property for how the two properties are used together to meter the flow of JMS messages to individual consumers.

      The default value for this property is 50 (percent).

      See Also:
    • imqConsumerFlowLimitPrefetch

      public static final String imqConsumerFlowLimitPrefetch
      When this property is set to false, there will be no prefetch next message (except the first message) from broker to a consumer, and consumer flow control properties imqConsumerFlowLimit and imqConsumerFlowThreshold will be ignored. When it is set to true, the default, prefetch will take place as defined by consumer flow control properties.
      See Also:
    • imqConnectionFlowCount

      public static final String imqConnectionFlowCount
      This property manages the number of JMS messages that will flow from the OpenMQ Message Service to the MQ Client between each 'resume flow' notification from the Client to the Message Service to receive additional JMS messages.

      If the count is set to 0 then the Message Service will not restrict the number of JMS messages sent to the Client.

      After the Message Service has sent the number of JMS messages specified by this property, it will await a 'resume flow' notification from the Client before sending the next set of JMS messages. A non-zero value allows the Client to receive and process control messages from the Message Service even if there is a large number of JMS messages being held by the Message Service for delivery to this Client.

      The MQ Client further has the ability to limit this JMS message flow using the property imqConnectionFlowEnabled

      The default value for this property is 100

      See Also:
    • imqConnectionFlowLimitEnabled

      public static final String imqConnectionFlowLimitEnabled
      This property indicates whether the OpenMQ Client should limit the flow of JMS messages from the OpenMQ Message Service using the number of messages specified in imqConnectionFlowLimit.

      This property will only be active if the property imqConnectionFlowCount has been set to a non-zero value.

      If this property is set to true the Client will use the property imqConnectionFlowLimit as described below. Flow control will not be limited if this property is set to false.

      The default value for this property is false

      See Also:
    • imqConnectionFlowLimit

      public static final String imqConnectionFlowLimit
      This property specifies the number of uncomsumed JMS messages that a OpenMQ Client can hold, above which the MQ Client will refrain from sending a 'resume flow' notification to the OpenMQ Message Service. This property is active only when the imqFlowControlEnabled property is set to true and the imqFlowControlCount property is set to a non-zero value.

      The MQ Client will notify the OpenMQ Message Service ('resume flow') and receive JMS message (in chunks determined by imqFlowControlCount) until the number of received and uncomsumed JMS messages exceeds the value of this property. At this point, the Client will 'pause' until the JMS messages are consumed and when the unconsumed JMS message count drops below this value, the Client once again notifys the Message Service and the flow of JMS messages to the Client is resumed.

      The default value for this property is 1000

      See Also:
    • imqOnMessageExceptionRedeliveryAttempts

      public static final String imqOnMessageExceptionRedeliveryAttempts
      For AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE, maximum redelivery attempts (>= 1) when a jakarta.jms.MessageListener.onMessage() throws RuntimeException. The message will be sent to DMQ if this maximum atttempts (> 1) reached.

      This property is ignored if the MessageListener is Message Driven Bean

      The default value for this property is 1.

      See Also:
    • imqOnMessageExceptionRedeliveryIntervals

      public static final String imqOnMessageExceptionRedeliveryIntervals
      For AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE, the interval in milliseconds for each subsequent redelivery attempt after first attempt when a jakarta.jms.MessageListener.onMessage() throws RuntimeException.

      This property is ignored if the MessageListener is Message Driven Bean

      The default value for this property is 500milliseconds.

      See Also:
    • imqQueueBrowserRetrieveTimeout

      public static final String imqQueueBrowserRetrieveTimeout
      This property holds the the maximum time, in milliseconds, that a OpenMQ Client Application will wait before throwing a NoSuchElementException when retrieving elements from a QueueBrowser Enumeration.

      The default value for this property is 60000 milliseconds.

      See Also:
    • imqQueueBrowserMaxMessagesPerRetrieve

      public static final String imqQueueBrowserMaxMessagesPerRetrieve
      This property holds the the maximum number of messages that will be retrieved at one time when a OpenMQ Client Application is enumerating through the messages on a Queue using a QueueBrowser.

      The default value for this property is 1000

      See Also:
    • imqLoadMaxToServerSession

      public static final String imqLoadMaxToServerSession
      This property indicates how the OpenMQ ConnectionConsumer should load messages into a ServerSession's JMS Session.

      When set to true, OpenMQ will load as many messages as are available, upto the limit of the maxMessages parameter used when creating the ConnectionConsumer, using the createConnectionConsumer() API, into a ServerSession's JMS Session for processing.

      When set to false, OpenMQ will only load a single message into a ServerSession's JMS Session for processing.

      The default value of this property is true

      See Also:
      • jakarta.jms.ConnectionConsumer
      • QueueConnection.createConnectionConsumer(Queue, messageSelector, ServerSessionPool, maxMessages)
      • TopicConnection.createConnectionConsumer(Topic, messageSelector, ServerSessionPool, maxMessages)
      • TopicConnection.createDurableConnectionConsumer(Topic, subscriptionName, messageSelector, ServerSessionPool, maxMessages)
      • Constant Field Values
    • imqOverrideJMSDeliveryMode

      public static final String imqOverrideJMSDeliveryMode
      This property indicates whether OpenMQ should override the JMS Message Header JMSDeliveryMode which can be set using the JMS APIs.

      When this property is set to true OpenMQ will set the Message Header JMSDeliveryMode to the value of the property imqJMSDeliveryMode for all messages produced by the Connection created using this Administered Object. If imqJMSDeliveryMode has an invalid value, then the default value of the JMS Message Header JMSDeliveryMode will be used instead. value.

      The default value of this property is false

      See Also:
      • imqJMSDeliveryMode
      • MessageProducer.setDeliveryMode(deliveryMode)
      • QueueSender.send(Message, deliveryMode, priority, timeToLive)
      • QueueSender.send(Queue, Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Topic, Message, deliveryMode, priority, timeToLive)
      • Constant Field Values
    • imqJMSDeliveryMode

      public static final String imqJMSDeliveryMode
      This property holds the administratively configured value of the JMS Message Header JMSDeliveryMode.

      When imqOverrideJMSDeliveryMode is set to true, all messages produced to non-Temporary Destinations by the Connection created using this Administered Object will have their JMS Message Header JMSDeliveryMode set to the value of this property.

      In addition, when imqOverrideJMSHeadersToTemporaryDestinations is set to true, all messages produced to Temporary Destinations will also contain the overridenvalue of this JMS Message Header.

      Setting an invalid value on this property will result in the Message Header being set to the default value of JMSDeliveryMode as defined by the JMS Specification.

      The default value of this property is null

      See Also:
    • JMSDeliveryMode_PERSISTENT

      public static final String JMSDeliveryMode_PERSISTENT
      This constant is used to set the value of imqJMSDeliveryMode to PERSISTENT when the JMSDeliveryMode JMS Message Header is administratively configured.

      See Also:
    • JMSDeliveryMode_NON_PERSISTENT

      public static final String JMSDeliveryMode_NON_PERSISTENT
      This constant is used to set the value of imqJMSDeliveryMode to NON_PERSISTENT when the JMSDeliveryMode JMS Message Header is administratively configured.

      See Also:
    • imqOverrideJMSExpiration

      public static final String imqOverrideJMSExpiration
      This property indicates whether OpenMQ should override the JMS Message Header JMSExpiration which can be set using the JMS APIs.

      When this property is set to true OpenMQ will set the Message Header JMSExpiration to the value of the property imqJMSExpiration for all messages produced by the Connection created using this Administered Object. If imqJMSExpiration has an invalid value, then the default value of the JMS Message Header JMSExpiration will be used instead. value.

      The default value of this property is false

      See Also:
      • imqJMSExpiration
      • MessageProducer.setTimeToLive(timeToLive)
      • QueueSender.send(Message, deliveryMode, priority, timeToLive)
      • QueueSender.send(Queue, Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Topic, Message, deliveryMode, priority, timeToLive)
      • Constant Field Values
    • imqJMSExpiration

      public static final String imqJMSExpiration
      This property holds the administratively configured value of the JMS Message Header JMSExpiration.

      When imqOverrideJMSExpiration is set to true, all messages produced to non-Temporary Destinations by the Connection created using this Administered Object will have their JMS Message Header JMSExpiration set to the value of this property.

      In addition, when imqOverrideJMSHeadersToTemporaryDestinations is set to true, all messages produced to Temporary Destinations will also contain the overridenvalue of this JMS Message Header.

      Setting an invalid value on this property will result in the Message Header being set to the default value of JMSExpiration as defined by the JMS Specification.

      The JMS Specification defines JMSExpiration as the time in milliseconds from its dispatch time that a produced message should be retained by the message service. An value of 0 indicates that the message is retained indefinitely. The default value of JMSExpiration is 0.

      The default value of this property is null

      See Also:
      • imqOverrideJMSExpiration
      • Message.DEFAULT_TIME_TO_LIVE
      • MessageProducer.setTimeToLive(timeToLive)
      • QueueSender.send(Message, deliveryMode, priority, timeToLive)
      • QueueSender.send(Queue, Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Topic, Message, deliveryMode, priority, timeToLive)
      • Constant Field Values
    • imqOverrideJMSPriority

      public static final String imqOverrideJMSPriority
      This property indicates whether OpenMQ should override the JMS Message Header JMSPriority which can be set using the JMS APIs.

      When this property is set to true OpenMQ will set the Message Header JMSPriority to the value of the property imqJMSPriority for all messages produced by all messages produced to non-Temporary Destinations by the Connection created using this Administered Object. If imqJMSPriority has an invalid value, then the default value of the JMS Message Header JMSPriority will be used instead. value.

      The default value of this property is false

      See Also:
      • imqJMSPriority
      • MessageProducer.setPriority(priority)
      • QueueSender.send(Message, deliveryMode, priority, timeToLive)
      • QueueSender.send(Queue, Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Topic, Message, deliveryMode, priority, timeToLive)
      • DeliveryMode.PERSISTENT
      • DeliveryMode.NON_PERSISTENT
      • Constant Field Values
    • imqJMSPriority

      public static final String imqJMSPriority
      This property holds the administratively configured value of the JMS Message Header JMSPriority.

      When imqOverrideJMSPriority is set to true, all messages produced to non-Temporary Destinations by the Connection created using this Administered Object will have their JMS Message Header JMSPriority set to the value of this property.

      In addition, when imqOverrideJMSHeadersToTemporaryDestinations is set to true, all messages produced to Temporary Destinations will also contain the overridenvalue of this JMS Message Header.

      Setting an invalid value on this property will result in the Message Header being set to the default value of JMSPriority as defined by the JMS Specification.

      The JMS Specification defines a 10 level value for JMSPriority, the priority with which produced messages are delivered by the message service, with 0 as the lowest and 9 as the highest. Clients should consider 0-4 as gradients of normal priority and 5-9 as gradients of expedited priority. JMSPriority is set to 4, by default.

      The default value of this property is null

      See Also:
      • imqOverrideJMSPriority
      • Message.DEFAULT_PRIORITY
      • MessageProducer.setPriority(priority)
      • QueueSender.send(Message, deliveryMode, priority, timeToLive)
      • QueueSender.send(Queue, Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Message, deliveryMode, priority, timeToLive)
      • QueueSender.publish(Topic, Message, deliveryMode, priority, timeToLive)
      • Constant Field Values
    • imqOverrideJMSHeadersToTemporaryDestinations

      public static final String imqOverrideJMSHeadersToTemporaryDestinations
      This property indicates whether OpenMQ should override the JMS Message Headers on Messages that are sent to Temporary Destinations.

      When imqOverrideJMSHeadersToTemporaryDestinations is set to true, imq will override the JMS Message Headers listed below on Messages sent to Temporary Destinations providing the corresponding property enabling the JMS Message Header override on Messages sent to non-temporary Destinations is also set to true.

      JMSPriority

      JMSExpiration

      JMSDeliveryMode

      The default value of this property is false

      See Also: