Class ConnectionConfiguration


  • public class ConnectionConfiguration
    extends java.lang.Object
    The ConnectionConfiguration class contains Sun MQ specific connection configuration property names and special values.
    See Also:
    com.sun.messaging.ConnectionFactory
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.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.
      static java.lang.String imqAckOnAcknowledge
      This property is used to control the reliability of message acknowledgement for every message that is consumed by a MessageConsumer.
      static java.lang.String imqAckOnProduce
      This property is used to control the reliability of every message that is produced by a MessageProducer.
      static java.lang.String imqAckTimeout
      This property holds the the maximum time, in milliseconds, that a Sun MQ Client Application will wait before throwing a JMSException when awaiting an acknowledgement from the Sun MQ Message Service.
      static java.lang.String imqAddressList
      This property holds the address list that will be used to connect to the Sun MQ Message Service.
      static java.lang.String imqAddressListBehavior
      This property determines how Sun MQ will select entries from the imqAddressList property to use when making a connection to the Sun MQ Message Service.
      static java.lang.String imqAddressListIterations
      This property holds the number of times that Sun MQ will iterate through imqAddressList when connecting to the Sun Message Queue Service.
      static java.lang.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
      static java.lang.String imqBrokerHostName
      This property holds the hostname that will be used to connect to the Sun MQ Message Service using the TCP and TLS ConnectionHandler classes provided with Sun MQ.
      static java.lang.String imqBrokerHostPort
      This property holds the Primary Port number that will be used to connect to the Sun MQ Message Service using the TCP and TLS ConnectionHandler classes provided with Sun MQ.
      static java.lang.String imqBrokerServiceName
      This property holds the connection service name that will be used to connect to the Sun MQ Message Service using the TCP and TLS ConnectionHandler classes provided with Sun MQ.
      static java.lang.String imqBrokerServicePort
      This property holds the actual port number that will be used to connect to the Sun MQ Message Service using the TCP and TLS ConnectionHandler classes provided with Sun MQ.
      static java.lang.String imqConfiguredClientID
      This property holds the value of an administratively configured ClientID.
      static java.lang.String imqConnectionFlowCount
      This property manages the number of JMS messages that will flow from the Sun MQ Message Service to the MQ Client between each 'resume flow' notification from the Client to the Message Service to receive additional JMS messages.
      static java.lang.String imqConnectionFlowLimit
      This property specifies the number of uncomsumed JMS messages that a Sun MQ Client can hold, above which the MQ Client will refrain from sending a 'resume flow' notification to the Sun MQ Message Service.
      static java.lang.String imqConnectionFlowLimitEnabled
      This property indicates whether the Sun MQ Client should limit the flow of JMS messages from the Sun MQ Message Service using the number of messages specified in imqConnectionFlowLimit.
      static java.lang.String imqConnectionHandler
      This property holds the name of the class that will be used to handle the connection to the Sun MQ Message Service and is required when the value of the imqConnectionType property is set to ...
      static java.lang.String imqConnectionType
      This property holds the connection type used to connect to the Sun MQ Message Service.
      static java.lang.String imqConnectionURL
      This property holds the URL that will be used when connecting to the Sun MQ Message Service using the HTTP ConnectionHandler class provided with Sun MQ.
      static java.lang.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.
      static java.lang.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.
      static java.lang.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 .
      static java.lang.String imqDefaultPassword
      This property holds the default password that will be used to authenticate with the Sun MQ Message Service.
      static java.lang.String imqDefaultUsername
      This property holds the default username that will be used to authenticate with the Sun MQ Message Service.
      static java.lang.String imqDisableSetClientID
      This property indicates whether the Sun MQ Client Application is prevented from changing the ClientID using the setClientID() method in jakarta.jms.Connection.
      static java.lang.String imqEnableSharedClientID
      This property indicates whether the client identifier requested and used by this connection is to be acquired in 'shared' mode.
      static java.lang.String imqJMSDeliveryMode
      This property holds the administratively configured value of the JMS Message Header JMSDeliveryMode.
      static java.lang.String imqJMSExpiration
      This property holds the administratively configured value of the JMS Message Header JMSExpiration.
      static java.lang.String imqJMSPriority
      This property holds the administratively configured value of the JMS Message Header JMSPriority.
      static java.lang.String imqKeyStore
      This property specifies the key store location
      static java.lang.String imqKeyStorePassword
      This property specifies the key store password.
      static java.lang.String imqLoadMaxToServerSession
      This property indicates how the Sun MQ ConnectionConsumer should load messages into a ServerSession's JMS Session.
      static java.lang.String imqOnMessageExceptionRedeliveryAttempts
      For AUTO_ACKNOWLEDGE and DUPS_OK_ACKNOWLEDGE, maximum redelivery attempts (>= 1) when a jakarta.jms.MessageListener.onMessage() throws RuntimeException.
      static java.lang.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.
      static java.lang.String imqOverrideJMSDeliveryMode
      This property indicates whether Sun MQ should override the JMS Message Header JMSDeliveryMode which can be set using the JMS APIs.
      static java.lang.String imqOverrideJMSExpiration
      This property indicates whether Sun MQ should override the JMS Message Header JMSExpiration which can be set using the JMS APIs.
      static java.lang.String imqOverrideJMSHeadersToTemporaryDestinations
      This property indicates whether Sun MQ should override the JMS Message Headers on Messages that are sent to Temporary Destinations.
      static java.lang.String imqOverrideJMSPriority
      This property indicates whether Sun MQ should override the JMS Message Header JMSPriority which can be set using the JMS APIs.
      static java.lang.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'.
      static java.lang.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.
      static java.lang.String imqPortMapperSoTimeout
      This property defines port mapper client socket read timeout, in milliseconds.
      static java.lang.String imqQueueBrowserMaxMessagesPerRetrieve
      This property holds the the maximum number of messages that will be retrieved at one time when a Sun MQ Client Application is enumerating through the messages on a Queue using a QueueBrowser.
      static java.lang.String imqQueueBrowserRetrieveTimeout
      This property holds the the maximum time, in milliseconds, that a Sun MQ Client Application will wait before throwing a NoSuchElementException when retrieving elements from a QueueBrowser Enumeration.
      static java.lang.String imqReconnectAttempts
      This property holds the number of reconnect attempts for each address in the imqAddressList property that the Sun MQ Client Application will make before moving on the the next address in imqAddressList.
      static java.lang.String imqReconnectEnabled
      This property indicates whether the Sun MQ Client Application will attempt to reconnect to the Sun MQ Message Service upon losing its connection.
      static java.lang.String imqReconnectInterval
      This property specifies the interval, in milliseconds, between successive reconnect attempts made by the MQ Client Application to the Sun MQ Message Service.
      static java.lang.String imqSetJMSXAppID
      This property indicates whether Sun MQ should set the JMSXAppID property on produced messages.
      static java.lang.String imqSetJMSXConsumerTXID
      This property indicates whether Sun MQ should set the JMSXConsumerTXID property on consumed messages.
      static java.lang.String imqSetJMSXProducerTXID
      This property indicates whether Sun MQ should set the JMSXProducerTXID property on produced messages.
      static java.lang.String imqSetJMSXRcvTimestamp
      This property indicates whether Sun MQ should set the JMSXRcvTimestamp property on consumed messages.
      static java.lang.String imqSetJMSXUserID
      This property indicates whether Sun MQ should set the JMSXUserID property on produced messages.
      static java.lang.String imqSocketConnectTimeout
      This property defines the socket timeout, in milliseconds, used when a TCP connection is made to the broker.
      static java.lang.String imqSSLIsHostTrusted
      This property indicates whether the host is trusted when connecting to the Sun MQ Message Service using the TLS ConnectionHandler class provided with Sun MQ.
      static java.lang.String imqSSLProviderClassname
      This property holds the TLS Provider Classname that will be used when connecting to the Sun MQ Message Service using the TLS ConnectionHandler class provided with Sun MQ.
      static java.lang.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.
      static java.lang.String JMSDeliveryMode_PERSISTENT
      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 Detail

      • imqAddressList

        public static final java.lang.String imqAddressList
        This property holds the address list that will be used to connect to the Sun MQ 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

         

        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

         

        The default value of this property is empty

        See Also:
        imqAddressListBehavior, imqAddressListIterations, Constant Field Values
      • imqAddressListIterations

        public static final java.lang.String imqAddressListIterations
        This property holds the number of times that Sun MQ will iterate through imqAddressList when connecting to the Sun Message Queue Service.

        The default value of this property is 1

        See Also:
        imqAddressList, imqAddressListBehavior, Constant Field Values
      • imqAddressListBehavior

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

        The acceptable values for this property are PRIORITY and RANDOM.

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

        Subsequently, when Sun MQ 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, Sun MQ will start with a random entry in imqAddressList when attempting to make the first connection to the Sun MQ Message Service.

        Subsequently, when Sun MQ 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:
        imqAddressList, imqAddressListIterations, Constant Field Values
      • imqConnectionType

        public static final java.lang.String imqConnectionType
        This property holds the connection type used to connect to the Sun MQ 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 Sun MQ Message Service.

        See Also:
        imqAddressList, Constant Field Values
      • imqConnectionHandler

        public static final java.lang.String imqConnectionHandler
        This property holds the name of the class that will be used to handle the connection to the Sun MQ 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:
        Constant Field Values
      • imqDefaultUsername

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

        The default value of this property is guest

        See Also:
        Constant Field Values
      • imqDefaultPassword

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

        The default value of this property is guest

        See Also:
        Constant Field Values
      • imqAckTimeout

        public static final java.lang.String imqAckTimeout
        This property holds the the maximum time, in milliseconds, that a Sun MQ Client Application will wait before throwing a JMSException when awaiting an acknowledgement from the Sun MQ 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:
        Constant Field Values
      • imqAsyncSendCompletionWaitTimeout

        public static final java.lang.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:
        Constant Field Values
      • imqReconnectEnabled

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

        The default value for this property is false

        See Also:
        Constant Field Values
      • imqReconnectInterval

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

        The default value for this property is 30000 milliseconds.

        See Also:
        Constant Field Values
      • imqReconnectAttempts

        public static final java.lang.String imqReconnectAttempts
        This property holds the number of reconnect attempts for each address in the imqAddressList property that the Sun MQ Client Application will make before moving on the the next address in imqAddressList. will make in trying to reconnect to the Sun MQ 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:
        Constant Field Values
      • imqPingInterval

        public static final java.lang.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:
        Constant Field Values
      • imqPingAckTimeout

        public static final java.lang.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:
        imqAbortOnPingAckTimeout, Constant Field Values
      • imqSocketConnectTimeout

        public static final java.lang.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:
        Constant Field Values
      • imqPortMapperSoTimeout

        public static final java.lang.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 not set by default.

        See Also:
        Constant Field Values
      • imqKeyStore

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

        The value of this property is not set by default.

        See Also:
        Constant Field Values
      • imqKeyStorePassword

        public static final java.lang.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:
        Constant Field Values
      • imqAbortOnPingAckTimeout

        public static final java.lang.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:
        imqPingAckTimeout, Constant Field Values
      • imqSetJMSXAppID

        public static final java.lang.String imqSetJMSXAppID
        This property indicates whether Sun MQ should set the JMSXAppID property on produced messages.

        The default value of this property is false

        See Also:
        Constant Field Values
      • imqSetJMSXUserID

        public static final java.lang.String imqSetJMSXUserID
        This property indicates whether Sun MQ should set the JMSXUserID property on produced messages.

        The default value of this property is false

        See Also:
        Constant Field Values
      • imqSetJMSXProducerTXID

        public static final java.lang.String imqSetJMSXProducerTXID
        This property indicates whether Sun MQ should set the JMSXProducerTXID property on produced messages.

        The default value of this property is false

        See Also:
        Constant Field Values
      • imqSetJMSXConsumerTXID

        public static final java.lang.String imqSetJMSXConsumerTXID
        This property indicates whether Sun MQ should set the JMSXConsumerTXID property on consumed messages.

        The default value of this property is false

        See Also:
        Constant Field Values
      • imqSetJMSXRcvTimestamp

        public static final java.lang.String imqSetJMSXRcvTimestamp
        This property indicates whether Sun MQ should set the JMSXRcvTimestamp property on consumed messages.

        The default value of this property is false

        See Also:
        Constant Field Values
      • imqBrokerHostName

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

        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:
        imqAddressList, Constant Field Values
      • imqBrokerHostPort

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

        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 Sun MQ 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:
        imqAddressList, Constant Field Values
      • imqBrokerServiceName

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

        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:
        imqAddressList, Constant Field Values
      • imqBrokerServicePort

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

        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:
        imqAddressList, Constant Field Values
      • imqSSLProviderClassname

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

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

        See Also:
        Constant Field Values
      • imqSSLIsHostTrusted

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

        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:
        Constant Field Values
      • imqConnectionURL

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

        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:
        imqAddressList, Constant Field Values
      • imqDisableSetClientID

        public static final java.lang.String imqDisableSetClientID
        This property indicates whether the Sun MQ 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, Connection.setClientID(clientID), Connection.getClientID(), Constant Field Values
      • imqConfiguredClientID

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

        The default value of this property is null

        See Also:
        imqDisableSetClientID, Connection.setClientID(clientID), Connection.getClientID(), Constant Field Values
      • imqEnableSharedClientID

        public static final java.lang.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:
        imqConfiguredClientID, imqDisableSetClientID, Connection.setClientID(clientID), Connection.getClientID(), Constant Field Values
      • imqAckOnProduce

        public static final java.lang.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 Sun MQ Client will ensure that every PERSISTENT message that is produced has been received by the Sun MQ 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, Constant Field Values
      • imqAckOnAcknowledge

        public static final java.lang.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 Sun MQ Client will ensure that the acknowledgment for every PERSISTENT message that is consumed, has been received by the Sun MQ 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:
        imqAckOnProduce, Constant Field Values
      • imqConsumerFlowLimit

        public static final java.lang.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, Constant Field Values
      • imqConsumerFlowThreshold

        public static final java.lang.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:
        imqConsumerFlowLimit, Constant Field Values
      • imqConsumerFlowLimitPrefetch

        public static final java.lang.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:
        imqConsumerFlowLimit, imqConsumerFlowThreshold, Constant Field Values
      • imqConnectionFlowCount

        public static final java.lang.String imqConnectionFlowCount
        This property manages the number of JMS messages that will flow from the Sun MQ 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, imqConnectionFlowLimit, Constant Field Values
      • imqConnectionFlowLimitEnabled

        public static final java.lang.String imqConnectionFlowLimitEnabled
        This property indicates whether the Sun MQ Client should limit the flow of JMS messages from the Sun MQ 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:
        imqConnectionFlowCount, imqConnectionFlowLimit, Constant Field Values
      • imqConnectionFlowLimit

        public static final java.lang.String imqConnectionFlowLimit
        This property specifies the number of uncomsumed JMS messages that a Sun MQ Client can hold, above which the MQ Client will refrain from sending a 'resume flow' notification to the Sun MQ 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 Sun MQ 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:
        imqConnectionFlowLimitEnabled, imqConnectionFlowCount, Constant Field Values
      • imqOnMessageExceptionRedeliveryAttempts

        public static final java.lang.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:
        Constant Field Values
      • imqOnMessageExceptionRedeliveryIntervals

        public static final java.lang.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:
        Constant Field Values
      • imqQueueBrowserRetrieveTimeout

        public static final java.lang.String imqQueueBrowserRetrieveTimeout
        This property holds the the maximum time, in milliseconds, that a Sun MQ 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:
        Enumeration, Enumeration.nextElement(), NoSuchElementException, jakarta.jms.QueueBrowser, Constant Field Values
      • imqQueueBrowserMaxMessagesPerRetrieve

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

        The default value for this property is 1000

        See Also:
        Enumeration, Enumeration.nextElement(), jakarta.jms.QueueBrowser, Constant Field Values
      • imqLoadMaxToServerSession

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

        When set to true, Sun MQ 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, Sun MQ 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 java.lang.String imqOverrideJMSDeliveryMode
        This property indicates whether Sun MQ should override the JMS Message Header JMSDeliveryMode which can be set using the JMS APIs.

        When this property is set to true Sun MQ 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 java.lang.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:
        imqOverrideJMSDeliveryMode, JMSDeliveryMode_PERSISTENT, JMSDeliveryMode_NON_PERSISTENT, Message.DEFAULT_DELIVERY_MODE, DeliveryMode.PERSISTENT, DeliveryMode.NON_PERSISTENT, 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
      • JMSDeliveryMode_NON_PERSISTENT

        public static final java.lang.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:
        imqOverrideJMSDeliveryMode, imqJMSDeliveryMode, Constant Field Values
      • imqOverrideJMSExpiration

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

        When this property is set to true Sun MQ 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 java.lang.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 java.lang.String imqOverrideJMSPriority
        This property indicates whether Sun MQ should override the JMS Message Header JMSPriority which can be set using the JMS APIs.

        When this property is set to true Sun MQ 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 java.lang.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 java.lang.String imqOverrideJMSHeadersToTemporaryDestinations
        This property indicates whether Sun MQ 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:
        imqOverrideJMSDeliveryMode, imqJMSDeliveryMode, imqOverrideJMSExpiration, imqJMSExpiration, imqOverrideJMSPriority, imqJMSPriority, MessageProducer.setDeliveryMode(deliveryMode), MessageProducer.setTimeToLive(timeToLive), 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