Class SolaceJcsmpAdvancedConnectionProperties


  • @ComponentProfile(summary="Advanced connection properties for the JCSMP connection.",
                      tag="connection,solace,jcsmp",
                      since="4.3")
    public class SolaceJcsmpAdvancedConnectionProperties
    extends java.lang.Object

    Advanced properties specifically for

    In the adapter configuration file this class is aliased as solace-jcsmp-connection-properties which is the preferred alternative to the fully qualified classname when building your configuration.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void applyAdvancedProperties​(com.solacesystems.jcsmp.JCSMPProperties properties)  
      java.lang.String getAckEventMode()
      SUPPORTED_ACK_EVENT_MODE_PER_MSG or SUPPORTED_ACK_EVENT_MODE_WINDOWED If this property is set to SUPPORTED_ACK_EVENT_MODE_PER_MSG, the message acknowledgement event acknowledges a single published Guaranteed message; if this property is set to SUPPORTED_ACK_EVENT_MODE_WINDOWED, the message acknowledgement event acknowledges a range of published Guaranteed messages.
      java.lang.String getApplicationDescription()
      (Optional) The client description to report to an appliance.
      boolean getCalculateMessageExpiration()
      (Optional) Indicates whether to calculate message expiration time in outgoing messages and incoming messages.
      int getChannelCompressionLevel()
      A compressionLevel setting of 1-9 sets the ZLIB compression level to use; a setting of 0 disables compression entirely.
      int getChannelConnectRetries()
      The number of times to attempt and retry a connection to the host appliance (or list of appliances) during initial connection setup.
      int getChannelConnectRetriesPerHost()
      When using a host list for the HOST property, this property defines how many times to try to connect or reconnect to a single host before moving to the next host in the list.
      int getChannelConnectTimeoutInMillis()
      Timeout value (in ms) for creating an initial connection to the appliance.
      int getChannelKeepAliveIntervalInMillis()
      The amount of time (in ms) to wait between sending out keep-alive messages.
      int getChannelKeepAliveLimit()
      The maximum number of consecutive keep-alive messages that can be sent without receiving a response before the connection is closed by the API.
      int getChannelReadTimeoutInMillis()
      Timeout value (in ms) for reading a reply from the appliance.
      int getChannelReceiveBuffer()
      The size (in bytes) of the receive socket buffer.
      int getChannelReconnectRetries()
      The number of times to attempt to reconnect to the appliance (or list of appliances) after an initial connected session goes down.
      int getChannelReconnectRetryWaitInMillis()
      How much time in (MS) to wait between each attempt to connect or reconnect to a host.
      int getChannelSendBuffer()
      The size (in bytes) of the send socket buffer.
      boolean getChannelTcpNoDelay()
      Whether to set the TCP_NODELAY option.
      boolean getClientAckMode()
      (Optional) Indicates whether the acknowledgement of receiving a message is done by JCSMP automatically or by the application explicitly calling XMLMessage.ackMessage().
      java.lang.String getClientName()
      (Optional) A unique client name to use to register to the appliance.
      java.lang.String getGdReconnectFailAction()
      GD_RECONNECT_FAIL_ACTION_AUTO_RETRY or GD_RECONNECT_FAIL_ACTION_DISCONNECT Defines the behavior when the API is unable to reconnect guaranteed delivery after reconnecting the session.
      boolean getGenerateRcvTimestamps()
      (Optional) Indicates whether to generate a receive timestamp on incoming messages.
      boolean getGenerateSenderId()
      (Optional) Indicates whether the client name should be included in the SenderID message header parameter.
      boolean getGenerateSendTimestamps()
      (Optional) Indicates whether to generate a send timestamp in outgoing messages.
      boolean getGenerateSequenceNumbers()
      (Optional) Indicates whether to generate a sequence number in outgoing messages.
      boolean getIgnoreDuplicateSubscriptionError()
      On addSubscription(Subscription), addSubscription(Endpoint, Subscription, int), or addSubscriptions(XpeList), ignore errors caused by subscriptions being already present.
      boolean getIgnoreSubscriptionNotFoundError()
      On removeSubscription(Subscription), removeSubscription(Endpoint, Subscription, int), or removeSubscriptions(XpeList), ignore errors caused by subscriptions not being found.
      java.lang.String getKrbServiceName()
      This property is used to specify the ServiceName portion of the Service Principal Name (SPN) that has a format of ServiceName/ApplianceName@REALM.
      boolean getMessageCallbackOnReactor()
      If enabled, messages delivered asynchronously to an XMLMessageListener are delivered directly from the I/O thread instead of a consumer notification thread.
      boolean getNoLocal()
      If this property is true, messages published on the session will not be received on the same session even if the client has a subscription that matches the published topic.
      int getPubAckTime()
      The duration of the publisher acknowledgement timer (in milliseconds).
      int getPubAckWindowSize()
      The size of the sliding publisher window for Guaranteed messages.
      boolean getPubUseIntermediateDirectBuf()
      Defaults to true.
      boolean getReapplySubscriptions()
      If enabled, the API maintains a local cache of subscriptions and reapplies them when the subscriber connection is reestablished.
      int getSubAckTime()
      The duration of the subscriber ACK timer (in milliseconds).
      int getSubAckWindowSize()
      The size of the sliding subscriber ACK window.
      int getSubAckWindowThreshold()
      The threshold for sending an acknowledgement, configured as a percentage.
      void setAckEventMode​(java.lang.String ackEventMode)
      SUPPORTED_ACK_EVENT_MODE_PER_MSG or SUPPORTED_ACK_EVENT_MODE_WINDOWED If this property is set to SUPPORTED_ACK_EVENT_MODE_PER_MSG, the message acknowledgement event acknowledges a single published Guaranteed message; if this property is set to SUPPORTED_ACK_EVENT_MODE_WINDOWED, the message acknowledgement event acknowledges a range of published Guaranteed messages.
      void setApplicationDescription​(java.lang.String applicationDescription)
      (Optional) The client description to report to an appliance.
      void setCalculateMessageExpiration​(boolean calculateMessageExpiration)
      (Optional) Indicates whether to calculate message expiration time in outgoing messages and incoming messages.
      void setChannelCompressionLevel​(int channelCompressionLevel)
      A compressionLevel setting of 1-9 sets the ZLIB compression level to use; a setting of 0 disables compression entirely.
      void setChannelConnectRetries​(int channelConnectRetries)
      The number of times to attempt and retry a connection to the host appliance (or list of appliances) during initial connection setup.
      void setChannelConnectRetriesPerHost​(int channelConnectRetriesPerHost)
      When using a host list for the HOST property, this property defines how many times to try to connect or reconnect to a single host before moving to the next host in the list.
      void setChannelConnectTimeoutInMillis​(int channelConnectTimeoutInMillis)
      Timeout value (in ms) for creating an initial connection to the appliance.
      void setChannelKeepAliveIntervalInMillis​(int channelKeepAliveIntervalInMillis)
      The amount of time (in ms) to wait between sending out keep-alive messages.
      void setChannelKeepAliveLimit​(int channelKeepAliveLimit)
      The maximum number of consecutive keep-alive messages that can be sent without receiving a response before the connection is closed by the API.
      void setChannelReadTimeoutInMillis​(int channelReadTimeoutInMillis)
      Timeout value (in ms) for reading a reply from the appliance.
      void setChannelReceiveBuffer​(int channelReceiveBuffer)
      The size (in bytes) of the receive socket buffer.
      void setChannelReconnectRetries​(int channelReconnectRetries)
      The number of times to attempt to reconnect to the appliance (or list of appliances) after an initial connected session goes down.
      void setChannelReconnectRetryWaitInMillis​(int channelReconnectRetryWaitInMillis)
      How much time in (MS) to wait between each attempt to connect or reconnect to a host.
      void setChannelSendBuffer​(int channelSendBuffer)
      The size (in bytes) of the send socket buffer.
      void setChannelTcpNoDelay​(boolean channelTcpNoDelay)
      Whether to set the TCP_NODELAY option.
      void setClientAckMode​(boolean clientAckMode)
      (Optional) Indicates whether the acknowledgement of receiving a message is done by JCSMP automatically or by the application explicitly calling XMLMessage.ackMessage().
      void setClientName​(java.lang.String clientName)
      (Optional) A unique client name to use to register to the appliance.
      void setGdReconnectFailAction​(java.lang.String gdReconnectFailAction)
      GD_RECONNECT_FAIL_ACTION_AUTO_RETRY or GD_RECONNECT_FAIL_ACTION_DISCONNECT Defines the behavior when the API is unable to reconnect guaranteed delivery after reconnecting the session.
      void setGenerateRcvTimestamps​(boolean generateRcvTimestamps)
      (Optional) Indicates whether to generate a receive timestamp on incoming messages.
      void setGenerateSenderId​(boolean generateSenderId)
      (Optional) Indicates whether the client name should be included in the SenderID message header parameter.
      void setGenerateSendTimestamps​(boolean generateSendTimestamps)
      (Optional) Indicates whether to generate a send timestamp in outgoing messages.
      void setGenerateSequenceNumbers​(boolean generateSequenceNumbers)
      (Optional) Indicates whether to generate a sequence number in outgoing messages.
      void setIgnoreDuplicateSubscriptionError​(boolean ignoreDuplicateSubscriptionError)
      On addSubscription(Subscription), addSubscription(Endpoint, Subscription, int), or addSubscriptions(XpeList), ignore errors caused by subscriptions being already present.
      void setIgnoreSubscriptionNotFoundError​(boolean ignoreSubscriptionNotFoundError)
      On removeSubscription(Subscription), removeSubscription(Endpoint, Subscription, int), or removeSubscriptions(XpeList), ignore errors caused by subscriptions not being found.
      void setKrbServiceName​(java.lang.String krbServiceName)
      This property is used to specify the ServiceName portion of the Service Principal Name (SPN) that has a format of ServiceName/ApplianceName@REALM.
      void setMessageCallbackOnReactor​(boolean messageCallbackOnReactor)
      If enabled, messages delivered asynchronously to an XMLMessageListener are delivered directly from the I/O thread instead of a consumer notification thread.
      void setNoLocal​(boolean noLocal)
      If this property is true, messages published on the session will not be received on the same session even if the client has a subscription that matches the published topic.
      void setPubAckTime​(int pubAckTime)
      The duration of the publisher acknowledgement timer (in milliseconds).
      void setPubAckWindowSize​(int pubAckWindowSize)
      The size of the sliding publisher window for Guaranteed messages.
      void setPubUseIntermediateDirectBuf​(boolean pubUseIntermediateDirectBuf)
      Defaults to true.
      void setReapplySubscriptions​(boolean reapplySubscriptions)
      If enabled, the API maintains a local cache of subscriptions and reapplies them when the subscriber connection is reestablished.
      void setSubAckTime​(int subAckTime)
      The duration of the subscriber ACK timer (in milliseconds).
      void setSubAckWindowSize​(int subAckWindowSize)
      The size of the sliding subscriber ACK window.
      void setSubAckWindowThreshold​(int subAckWindowThreshold)
      The threshold for sending an acknowledgement, configured as a percentage.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SolaceJcsmpAdvancedConnectionProperties

        public SolaceJcsmpAdvancedConnectionProperties()
    • Method Detail

      • applyAdvancedProperties

        public void applyAdvancedProperties​(com.solacesystems.jcsmp.JCSMPProperties properties)
      • setClientAckMode

        public void setClientAckMode​(boolean clientAckMode)
        (Optional) Indicates whether the acknowledgement of receiving a message is done by JCSMP automatically or by the application explicitly calling XMLMessage.ackMessage(). If message acknowledgement mode should be handled automatically, then set to "false". If however you wish for the more explicit client mode, set to "true".
      • getClientAckMode

        public boolean getClientAckMode()
        (Optional) Indicates whether the acknowledgement of receiving a message is done by JCSMP automatically or by the application explicitly calling XMLMessage.ackMessage(). If message acknowledgement mode should be handled automatically, then set to "false". If however you wish for the more explicit client mode, set to "true".
      • setApplicationDescription

        public void setApplicationDescription​(java.lang.String applicationDescription)
        (Optional) The client description to report to an appliance. The maximum length is 254 ASCII characters. Setting this property is optional.
      • getApplicationDescription

        public java.lang.String getApplicationDescription()
        (Optional) The client description to report to an appliance. The maximum length is 254 ASCII characters. Setting this property is optional.
      • getClientName

        public java.lang.String getClientName()
        (Optional) A unique client name to use to register to the appliance. If specified, it must be a valid Topic name, and a maximum of 160 bytes in length when encoded as UTF-8. If a value of "" is specified, the default (auto-generated) client name is applied.
      • setClientName

        public void setClientName​(java.lang.String clientName)
        (Optional) A unique client name to use to register to the appliance. If specified, it must be a valid Topic name, and a maximum of 160 bytes in length when encoded as UTF-8. If a value of "" is specified, the default (auto-generated) client name is applied.
      • setGenerateSenderId

        public void setGenerateSenderId​(boolean generateSenderId)
        (Optional) Indicates whether the client name should be included in the SenderID message header parameter.
      • getGenerateSenderId

        public boolean getGenerateSenderId()
        (Optional) Indicates whether the client name should be included in the SenderID message header parameter.
      • setSubAckWindowSize

        public void setSubAckWindowSize​(int subAckWindowSize)
        The size of the sliding subscriber ACK window. The valid range is 1-255.
      • getSubAckWindowSize

        public int getSubAckWindowSize()
        The size of the sliding subscriber ACK window. The valid range is 1-255.
      • setPubAckWindowSize

        public void setPubAckWindowSize​(int pubAckWindowSize)
        The size of the sliding publisher window for Guaranteed messages. The Guaranteed Message Publish Window Size property limits the maximum number of messages that can be published before the API must receive an acknowledgement from the appliance. The valid range is 1-255.
      • getPubAckWindowSize

        public int getPubAckWindowSize()
        The size of the sliding publisher window for Guaranteed messages. The Guaranteed Message Publish Window Size property limits the maximum number of messages that can be published before the API must receive an acknowledgement from the appliance. The valid range is 1-255.
      • setSubAckTime

        public void setSubAckTime​(int subAckTime)
        The duration of the subscriber ACK timer (in milliseconds). The valid range is 20-1500.
      • getSubAckTime

        public int getSubAckTime()
        The duration of the subscriber ACK timer (in milliseconds). The valid range is 20-1500.
      • setPubAckTime

        public void setPubAckTime​(int pubAckTime)
        The duration of the publisher acknowledgement timer (in milliseconds). When a published message is not acknowledged within the time specified for this timer, the API automatically retransmits the message. The valid range is 20-60000.
      • getPubAckTime

        public int getPubAckTime()
        The duration of the publisher acknowledgement timer (in milliseconds). When a published message is not acknowledged within the time specified for this timer, the API automatically retransmits the message. The valid range is 20-60000.
      • setSubAckWindowThreshold

        public void setSubAckWindowThreshold​(int subAckWindowThreshold)
        The threshold for sending an acknowledgement, configured as a percentage. The API sends a transport acknowledgment every N messages where N is calculated as this percentage of the flow window size if the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time is greater than or equal to the transport window size. Otherwise, N is calculated as this percentage of the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time. The valid range is 1-75.
      • getSubAckWindowThreshold

        public int getSubAckWindowThreshold()
        The threshold for sending an acknowledgement, configured as a percentage. The API sends a transport acknowledgment every N messages where N is calculated as this percentage of the flow window size if the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time is greater than or equal to the transport window size. Otherwise, N is calculated as this percentage of the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time. The valid range is 1-75.
      • setGenerateRcvTimestamps

        public void setGenerateRcvTimestamps​(boolean generateRcvTimestamps)
        (Optional) Indicates whether to generate a receive timestamp on incoming messages.
      • getGenerateRcvTimestamps

        public boolean getGenerateRcvTimestamps()
        (Optional) Indicates whether to generate a receive timestamp on incoming messages.
      • setGenerateSendTimestamps

        public void setGenerateSendTimestamps​(boolean generateSendTimestamps)
        (Optional) Indicates whether to generate a send timestamp in outgoing messages.
      • getGenerateSendTimestamps

        public boolean getGenerateSendTimestamps()
        (Optional) Indicates whether to generate a send timestamp in outgoing messages.
      • setGenerateSequenceNumbers

        public void setGenerateSequenceNumbers​(boolean generateSequenceNumbers)
        (Optional) Indicates whether to generate a sequence number in outgoing messages.
      • getGenerateSequenceNumbers

        public boolean getGenerateSequenceNumbers()
        (Optional) Indicates whether to generate a sequence number in outgoing messages.
      • setCalculateMessageExpiration

        public void setCalculateMessageExpiration​(boolean calculateMessageExpiration)
        (Optional) Indicates whether to calculate message expiration time in outgoing messages and incoming messages.
      • getCalculateMessageExpiration

        public boolean getCalculateMessageExpiration()
        (Optional) Indicates whether to calculate message expiration time in outgoing messages and incoming messages.
      • setReapplySubscriptions

        public void setReapplySubscriptions​(boolean reapplySubscriptions)
        If enabled, the API maintains a local cache of subscriptions and reapplies them when the subscriber connection is reestablished. Reapply subscriptions will only apply direct topic subscriptions unpon a Session reconnect. It will not reapply topic subscriptions on durable and non-durable endpoints.
      • getReapplySubscriptions

        public boolean getReapplySubscriptions()
        If enabled, the API maintains a local cache of subscriptions and reapplies them when the subscriber connection is reestablished. Reapply subscriptions will only apply direct topic subscriptions unpon a Session reconnect. It will not reapply topic subscriptions on durable and non-durable endpoints.
      • setPubUseIntermediateDirectBuf

        public void setPubUseIntermediateDirectBuf​(boolean pubUseIntermediateDirectBuf)
        Defaults to true. If enabled, during send operations, the XMLMessageProducer concatenates all published data to an intermediate direct ByteBuffer in the API, and writes only that buffer to the socket instead of performing a vectored write(ByteBuffer[]) operation. This can result in higher throughput for certain send operations. It can, however, lead to performance degradation for some scenarios with large messages or sendMultiple(...) operations, especially if messages are already using direct ByteBuffers for data storage. This property should be set to false in those conditions.
      • getPubUseIntermediateDirectBuf

        public boolean getPubUseIntermediateDirectBuf()
        Defaults to true. If enabled, during send operations, the XMLMessageProducer concatenates all published data to an intermediate direct ByteBuffer in the API, and writes only that buffer to the socket instead of performing a vectored write(ByteBuffer[]) operation. This can result in higher throughput for certain send operations. It can, however, lead to performance degradation for some scenarios with large messages or sendMultiple(...) operations, especially if messages are already using direct ByteBuffers for data storage. This property should be set to false in those conditions.
      • setMessageCallbackOnReactor

        public void setMessageCallbackOnReactor​(boolean messageCallbackOnReactor)
        If enabled, messages delivered asynchronously to an XMLMessageListener are delivered directly from the I/O thread instead of a consumer notification thread. An application making use of this setting MUST return quickly from the onReceive() callback, and MUST NOT call ANY session methods from the I/O thread. The above means that calling any blocking methods from an XMLMessageListener callback is not supported and may cause an application to deadlock.
      • getMessageCallbackOnReactor

        public boolean getMessageCallbackOnReactor()
        If enabled, messages delivered asynchronously to an XMLMessageListener are delivered directly from the I/O thread instead of a consumer notification thread. An application making use of this setting MUST return quickly from the onReceive() callback, and MUST NOT call ANY session methods from the I/O thread. The above means that calling any blocking methods from an XMLMessageListener callback is not supported and may cause an application to deadlock.
      • setIgnoreDuplicateSubscriptionError

        public void setIgnoreDuplicateSubscriptionError​(boolean ignoreDuplicateSubscriptionError)
        On addSubscription(Subscription), addSubscription(Endpoint, Subscription, int), or addSubscriptions(XpeList), ignore errors caused by subscriptions being already present.
      • getIgnoreDuplicateSubscriptionError

        public boolean getIgnoreDuplicateSubscriptionError()
        On addSubscription(Subscription), addSubscription(Endpoint, Subscription, int), or addSubscriptions(XpeList), ignore errors caused by subscriptions being already present.
      • setIgnoreSubscriptionNotFoundError

        public void setIgnoreSubscriptionNotFoundError​(boolean ignoreSubscriptionNotFoundError)
        On removeSubscription(Subscription), removeSubscription(Endpoint, Subscription, int), or removeSubscriptions(XpeList), ignore errors caused by subscriptions not being found.
      • getIgnoreSubscriptionNotFoundError

        public boolean getIgnoreSubscriptionNotFoundError()
        On removeSubscription(Subscription), removeSubscription(Endpoint, Subscription, int), or removeSubscriptions(XpeList), ignore errors caused by subscriptions not being found.
      • setNoLocal

        public void setNoLocal​(boolean noLocal)
        If this property is true, messages published on the session will not be received on the same session even if the client has a subscription that matches the published topic. If this restriction is requested and the appliance does not have No Local support, the session connect will fail.
      • getNoLocal

        public boolean getNoLocal()
        If this property is true, messages published on the session will not be received on the same session even if the client has a subscription that matches the published topic. If this restriction is requested and the appliance does not have No Local support, the session connect will fail.
      • setAckEventMode

        public void setAckEventMode​(java.lang.String ackEventMode)
        SUPPORTED_ACK_EVENT_MODE_PER_MSG or SUPPORTED_ACK_EVENT_MODE_WINDOWED If this property is set to SUPPORTED_ACK_EVENT_MODE_PER_MSG, the message acknowledgement event acknowledges a single published Guaranteed message; if this property is set to SUPPORTED_ACK_EVENT_MODE_WINDOWED, the message acknowledgement event acknowledges a range of published Guaranteed messages.
      • getAckEventMode

        public java.lang.String getAckEventMode()
        SUPPORTED_ACK_EVENT_MODE_PER_MSG or SUPPORTED_ACK_EVENT_MODE_WINDOWED If this property is set to SUPPORTED_ACK_EVENT_MODE_PER_MSG, the message acknowledgement event acknowledges a single published Guaranteed message; if this property is set to SUPPORTED_ACK_EVENT_MODE_WINDOWED, the message acknowledgement event acknowledges a range of published Guaranteed messages.
      • setKrbServiceName

        public void setKrbServiceName​(java.lang.String krbServiceName)
        This property is used to specify the ServiceName portion of the Service Principal Name (SPN) that has a format of ServiceName/ApplianceName@REALM.
      • getKrbServiceName

        public java.lang.String getKrbServiceName()
        This property is used to specify the ServiceName portion of the Service Principal Name (SPN) that has a format of ServiceName/ApplianceName@REALM.
      • setGdReconnectFailAction

        public void setGdReconnectFailAction​(java.lang.String gdReconnectFailAction)
        GD_RECONNECT_FAIL_ACTION_AUTO_RETRY or GD_RECONNECT_FAIL_ACTION_DISCONNECT Defines the behavior when the API is unable to reconnect guaranteed delivery after reconnecting the session. This may occur if the session is configured with a host list where each Solace router in the host list is unaware of state on the previous router. It can also occur if the time to reconnect to the same router exceeds the publisher flow timeout on the router.
      • getGdReconnectFailAction

        public java.lang.String getGdReconnectFailAction()
        GD_RECONNECT_FAIL_ACTION_AUTO_RETRY or GD_RECONNECT_FAIL_ACTION_DISCONNECT Defines the behavior when the API is unable to reconnect guaranteed delivery after reconnecting the session. This may occur if the session is configured with a host list where each Solace router in the host list is unaware of state on the previous router. It can also occur if the time to reconnect to the same router exceeds the publisher flow timeout on the router.
      • setChannelConnectTimeoutInMillis

        public void setChannelConnectTimeoutInMillis​(int channelConnectTimeoutInMillis)
        Timeout value (in ms) for creating an initial connection to the appliance. Valid values are >= 0. 0 means an infinite timeout.
      • getChannelConnectTimeoutInMillis

        public int getChannelConnectTimeoutInMillis()
        Timeout value (in ms) for creating an initial connection to the appliance. Valid values are >= 0. 0 means an infinite timeout.
      • setChannelReadTimeoutInMillis

        public void setChannelReadTimeoutInMillis​(int channelReadTimeoutInMillis)
        Timeout value (in ms) for reading a reply from the appliance. Valid values are > 0. Note: For subscriber control channels, the default is 120000 ms.
      • getChannelReadTimeoutInMillis

        public int getChannelReadTimeoutInMillis()
        Timeout value (in ms) for reading a reply from the appliance. Valid values are > 0. Note: For subscriber control channels, the default is 120000 ms.
      • setChannelConnectRetries

        public void setChannelConnectRetries​(int channelConnectRetries)
        The number of times to attempt and retry a connection to the host appliance (or list of appliances) during initial connection setup. Valid values are >= -1. Zero means no automatic connection retries (that is, try once and give up). -1 means "retry forever".
      • getChannelConnectRetries

        public int getChannelConnectRetries()
        The number of times to attempt and retry a connection to the host appliance (or list of appliances) during initial connection setup. Valid values are >= -1. Zero means no automatic connection retries (that is, try once and give up). -1 means "retry forever".
      • setChannelReconnectRetries

        public void setChannelReconnectRetries​(int channelReconnectRetries)
        The number of times to attempt to reconnect to the appliance (or list of appliances) after an initial connected session goes down. Valid values are >= -1. -1 means "retry forever". 0 means no automatic reconnection retries (that is, try once and give up).
      • getChannelReconnectRetries

        public int getChannelReconnectRetries()
        The number of times to attempt to reconnect to the appliance (or list of appliances) after an initial connected session goes down. Valid values are >= -1. -1 means "retry forever". 0 means no automatic reconnection retries (that is, try once and give up).
      • setChannelConnectRetriesPerHost

        public void setChannelConnectRetriesPerHost​(int channelConnectRetriesPerHost)
        When using a host list for the HOST property, this property defines how many times to try to connect or reconnect to a single host before moving to the next host in the list. NOTE: This property works in conjunction with the connect and reconnect retries settings; it does not replace them. Valid values are >= -1. 0 means make a single connection attempt (that is, 0 retries). -1 means attempt an infinite number of reconnect retries (that is, the API only tries to connect or reconnect to first host listed.)
      • getChannelConnectRetriesPerHost

        public int getChannelConnectRetriesPerHost()
        When using a host list for the HOST property, this property defines how many times to try to connect or reconnect to a single host before moving to the next host in the list. NOTE: This property works in conjunction with the connect and reconnect retries settings; it does not replace them. Valid values are >= -1. 0 means make a single connection attempt (that is, 0 retries). -1 means attempt an infinite number of reconnect retries (that is, the API only tries to connect or reconnect to first host listed.)
      • setChannelReconnectRetryWaitInMillis

        public void setChannelReconnectRetryWaitInMillis​(int channelReconnectRetryWaitInMillis)
        How much time in (MS) to wait between each attempt to connect or reconnect to a host. If a connect or reconnect attempt to host is not successful, the API waits for the amount of time set for reconnectRetryWaitInMillis, and then makes another connect or reconnect attempt. Note: connectRetriesPerHost sets how many connection or reconnection attempts can be made before moving on to the next host in the list. See the HOST for more details on the reconnect logic. Valid values are 0 - 60000, inclusively.
      • getChannelReconnectRetryWaitInMillis

        public int getChannelReconnectRetryWaitInMillis()
        How much time in (MS) to wait between each attempt to connect or reconnect to a host. If a connect or reconnect attempt to host is not successful, the API waits for the amount of time set for reconnectRetryWaitInMillis, and then makes another connect or reconnect attempt. Note: connectRetriesPerHost sets how many connection or reconnection attempts can be made before moving on to the next host in the list. See the HOST for more details on the reconnect logic. Valid values are 0 - 60000, inclusively.
      • setChannelKeepAliveIntervalInMillis

        public void setChannelKeepAliveIntervalInMillis​(int channelKeepAliveIntervalInMillis)
        The amount of time (in ms) to wait between sending out keep-alive messages. Typically, this feature should be enabled for message receivers. Valid values are >= 50. 0 disables the keepalive function. Note: If using compression on a session, the configured KeepAlive interval should be longer than the maximum time required to compress the largest message likely to be published.
      • getChannelKeepAliveIntervalInMillis

        public int getChannelKeepAliveIntervalInMillis()
        The amount of time (in ms) to wait between sending out keep-alive messages. Typically, this feature should be enabled for message receivers. Valid values are >= 50. 0 disables the keepalive function. Note: If using compression on a session, the configured KeepAlive interval should be longer than the maximum time required to compress the largest message likely to be published.
      • setChannelKeepAliveLimit

        public void setChannelKeepAliveLimit​(int channelKeepAliveLimit)
        The maximum number of consecutive keep-alive messages that can be sent without receiving a response before the connection is closed by the API. Valid values are >= 3.
      • getChannelKeepAliveLimit

        public int getChannelKeepAliveLimit()
        The maximum number of consecutive keep-alive messages that can be sent without receiving a response before the connection is closed by the API. Valid values are >= 3.
      • setChannelSendBuffer

        public void setChannelSendBuffer​(int channelSendBuffer)
        The size (in bytes) of the send socket buffer.
      • getChannelSendBuffer

        public int getChannelSendBuffer()
        The size (in bytes) of the send socket buffer.
      • setChannelReceiveBuffer

        public void setChannelReceiveBuffer​(int channelReceiveBuffer)
        The size (in bytes) of the receive socket buffer.
      • getChannelReceiveBuffer

        public int getChannelReceiveBuffer()
        The size (in bytes) of the receive socket buffer.
      • setChannelTcpNoDelay

        public void setChannelTcpNoDelay​(boolean channelTcpNoDelay)
        Whether to set the TCP_NODELAY option. When enabled, this option disables the Nagle's algorithm.
      • getChannelTcpNoDelay

        public boolean getChannelTcpNoDelay()
        Whether to set the TCP_NODELAY option. When enabled, this option disables the Nagle's algorithm.
      • setChannelCompressionLevel

        public void setChannelCompressionLevel​(int channelCompressionLevel)
        A compressionLevel setting of 1-9 sets the ZLIB compression level to use; a setting of 0 disables compression entirely. From the ZLIB manual: [...] 1 gives best speed, 9 gives best compression, 0 gives no compression at all (the input data is simply copied a block at a time). Note: If using compression on a session, the configured KeepAlive interval should be longer than the maximum time required to compress the largest message likely to be published.
      • getChannelCompressionLevel

        public int getChannelCompressionLevel()
        A compressionLevel setting of 1-9 sets the ZLIB compression level to use; a setting of 0 disables compression entirely. From the ZLIB manual: [...] 1 gives best speed, 9 gives best compression, 0 gives no compression at all (the input data is simply copied a block at a time). Note: If using compression on a session, the configured KeepAlive interval should be longer than the maximum time required to compress the largest message likely to be published.