Class ConnectionOptions

  • All Implemented Interfaces:
    Cloneable

    public class ConnectionOptions
    extends Object
    implements Cloneable
    Options that control the behavior of the Connection created from them.
    • Constructor Detail

      • ConnectionOptions

        public ConnectionOptions()
        Create a new ConnectionOptions instance configured with default configuration settings.
    • Method Detail

      • closeTimeout

        public long closeTimeout()
        Returns:
        the timeout used when awaiting a response from the remote when a resource is closed.
      • closeTimeout

        public ConnectionOptions closeTimeout​(long closeTimeout)
        Configures the timeout used when awaiting a response from the remote that a request to close a resource such as a Connection, Session, Sender or Receiver h as been honored.
        Parameters:
        closeTimeout - Timeout value in milliseconds to wait for a remote response.
        Returns:
        this ConnectionOptions instance.
      • closeTimeout

        public ConnectionOptions closeTimeout​(long timeout,
                                              TimeUnit units)
        Configures the timeout used when awaiting a response from the remote that a request to close a resource such as a Connection, Session, Sender or Receiver h as been honored.
        Parameters:
        timeout - Timeout value to wait for a remote response.
        units - The TimeUnit that defines the timeout span.
        Returns:
        this ConnectionOptions instance.
      • openTimeout

        public long openTimeout()
        Returns:
        the timeout used when awaiting a response from the remote when a resource is opened.
      • openTimeout

        public ConnectionOptions openTimeout​(long openTimeout)
        Configures the timeout used when awaiting a response from the remote that a request to open a resource such as a Connection, Session, Sender or Receiver has been honored.
        Parameters:
        openTimeout - Timeout value in milliseconds to wait for a remote response.
        Returns:
        this ConnectionOptions instance.
      • openTimeout

        public ConnectionOptions openTimeout​(long timeout,
                                             TimeUnit units)
        Configures the timeout used when awaiting a response from the remote that a request to open a resource such as a Connection, Session, Sender or Receiver has been honored.
        Parameters:
        timeout - Timeout value to wait for a remote response.
        units - The TimeUnit that defines the timeout span.
        Returns:
        this ConnectionOptions instance.
      • sendTimeout

        public long sendTimeout()
        Returns:
        the timeout used when awaiting a response from the remote when a resource is message send.
      • sendTimeout

        public ConnectionOptions sendTimeout​(long sendTimeout)
        Configures the timeout used when awaiting a send operation to complete. A send will block if the remote has not granted the Sender or the Session credit to do so, if the send blocks for longer than this timeout the send call will fail with an ClientSendTimedOutException exception to indicate that the send did not complete.
        Parameters:
        sendTimeout - Timeout value in milliseconds to wait for a remote response.
        Returns:
        this ConnectionOptions instance.
      • sendTimeout

        public ConnectionOptions sendTimeout​(long timeout,
                                             TimeUnit units)
        Configures the timeout used when awaiting a send operation to complete. A send will block if the remote has not granted the Sender or the Session credit to do so, if the send blocks for longer than this timeout the send call will fail with an ClientSendTimedOutException exception to indicate that the send did not complete.
        Parameters:
        timeout - Timeout value to wait for a remote response.
        units - The TimeUnit that defines the timeout span.
        Returns:
        this ConnectionOptions instance.
      • requestTimeout

        public long requestTimeout()
        Returns:
        the timeout used when awaiting a response from the remote when a resource makes a request.
      • requestTimeout

        public ConnectionOptions requestTimeout​(long requestTimeout)
        Configures the timeout used when awaiting a response from the remote that a request to perform some action such as starting a new transaction. If the remote does not respond within the configured timeout the resource making the request will mark it as failed and return an error to the request initiator usually in the form of a ClientOperationTimedOutException.
        Parameters:
        requestTimeout - Timeout value in milliseconds to wait for a remote response.
        Returns:
        this ConnectionOptions instance.
      • requestTimeout

        public ConnectionOptions requestTimeout​(long timeout,
                                                TimeUnit units)
        Configures the timeout used when awaiting a response from the remote that a request to perform some action such as starting a new transaction. If the remote does not respond within the configured timeout the resource making the request will mark it as failed and return an error to the request initiator usually in the form of a ClientOperationTimedOutException.
        Parameters:
        timeout - Timeout value to wait for a remote response.
        units - The TimeUnit that defines the timeout span.
        Returns:
        this ConnectionOptions instance.
      • channelMax

        public int channelMax()
        Returns:
        the configured or default channel max value for create Connection instances.
      • channelMax

        public ConnectionOptions channelMax​(int channelMax)
        Configure the channel maximum value for the new Connection created with these options.

        The channel max value controls how many Session instances can be created by a given Connection, the default value is 65535.

        Parameters:
        channelMax - The channel max value to assign to newly created Connection instances.
        Returns:
        this ConnectionOptions instance.
      • maxFrameSize

        public int maxFrameSize()
        Returns:
        the configure maximum frame size value for newly create Connection instances.
      • maxFrameSize

        public ConnectionOptions maxFrameSize​(int maxFrameSize)
        Sets the max frame size (in bytes), values of -1 indicates to use the client selected default.
        Parameters:
        maxFrameSize - the frame size in bytes.
        Returns:
        this ConnectionOptions instance.
      • idleTimeout

        public long idleTimeout()
        Returns:
        the configured idle timeout value that will be sent to the remote.
      • idleTimeout

        public ConnectionOptions idleTimeout​(long idleTimeout)
        Sets the idle timeout (in milliseconds) after which the connection will be closed if the peer has not send any data. The provided value will be halved before being transmitted as our advertised idle-timeout in the AMQP Open frame.
        Parameters:
        idleTimeout - the timeout in milliseconds.
        Returns:
        this ConnectionOptions instance.
      • idleTimeout

        public ConnectionOptions idleTimeout​(long timeout,
                                             TimeUnit units)
        Sets the idle timeout value after which the connection will be closed if the peer has not send any data. The provided value will be halved before being transmitted as our advertised idle-timeout in the AMQP Open frame.
        Parameters:
        timeout - Timeout value to wait for a remote response.
        units - The TimeUnit that defines the timeout span.
        Returns:
        this ConnectionOptions instance.
      • drainTimeout

        public long drainTimeout()
        Returns:
        the configured drain timeout value that will use to fail a pending drain request.
      • drainTimeout

        public ConnectionOptions drainTimeout​(long drainTimeout)
        Sets the drain timeout (in milliseconds) after which a Receiver request to drain link credit is considered failed and the request will be marked as such.
        Parameters:
        drainTimeout - the drainTimeout to use for receiver links.
        Returns:
        this ConnectionOptions instance.
      • drainTimeout

        public ConnectionOptions drainTimeout​(long timeout,
                                              TimeUnit units)
        Sets the drain timeout value after which a Receiver request to drain link credit is considered failed and the request will be marked as such.
        Parameters:
        timeout - Timeout value to wait for a remote response.
        units - The TimeUnit that defines the timeout span.
        Returns:
        this ConnectionOptions instance.
      • offeredCapabilities

        public String[] offeredCapabilities()
        Returns:
        the offeredCapabilities that have been configured.
      • offeredCapabilities

        public ConnectionOptions offeredCapabilities​(String... offeredCapabilities)
        Sets the collection of capabilities to offer to the remote from a new Connection created using these ConnectionOptions. The offered capabilities advertise to the remote capabilities that this Connection supports.
        Parameters:
        offeredCapabilities - the offeredCapabilities to set on a new Connection.
        Returns:
        this ConnectionOptions instance.
      • desiredCapabilities

        public String[] desiredCapabilities()
        Returns:
        the desiredCapabilities that have been configured.
      • desiredCapabilities

        public ConnectionOptions desiredCapabilities​(String... desiredCapabilities)
        Sets the collection of capabilities to request from the remote for a new Connection created using these ConnectionOptions. The desired capabilities inform the remote peer of the various capabilities the new Connection requires and the remote should return those that it supports in its offered capabilities.
        Parameters:
        desiredCapabilities - the desiredCapabilities to set on a new Connection.
        Returns:
        this ConnectionOptions instance.
      • properties

        public Map<String,​Object> properties()
        Returns:
        the properties that have been configured.
      • virtualHost

        public String virtualHost()
        Returns:
        the virtual host value configured.
      • user

        public String user()
        Returns:
        the user name that is configured for new Connection instances.
      • password

        public String password()
        Returns:
        the password that is configured for new Connection instances.
      • password

        public ConnectionOptions password​(String password)
        Sets the password used when performing connection authentication.
        Parameters:
        password - the password to set
        Returns:
        this ConnectionOptions instance.
      • transportOptions

        public TransportOptions transportOptions()
        Returns:
        the transport options that will be used for the Connection.
      • sslOptions

        public SslOptions sslOptions()
        Returns:
        the SSL options that will be used for the Connection.
      • saslOptions

        public SaslOptions saslOptions()
        Returns:
        the SASL options that will be used for the Connection.
      • reconnectEnabled

        public boolean reconnectEnabled()
        Returns:
        true if reconnection support has been enabled for this connection.
      • reconnectEnabled

        public ConnectionOptions reconnectEnabled​(boolean reconnectEnabled)
        Controls if the connection will attempt to reconnect if unable to connect immediately or if an existing connection fails (default is disabled).

        This option enables or disables reconnection to a remote peer after IO errors or remote forcibly closing the connection. To control specifics of the reconnection configuration for the Connection the values must be updated in the ReconnectOptions configuration prior to creating the connection.

        Parameters:
        reconnectEnabled - Controls if reconnection is enabled or not for the associated Connection.
        Returns:
        this options instance.
      • reconnectOptions

        public ReconnectOptions reconnectOptions()
        Returns:
        the reconnection options that will be used for the Connection.
      • traceFrames

        public ConnectionOptions traceFrames​(boolean traceFrames)
        Configure if the newly created connection should enabled AMQP frame tracing to the system output.
        Parameters:
        traceFrames - true if frame tracing on this connection should be enabled.
        Returns:
        this ConnectionOptions instance.
      • traceFrames

        public boolean traceFrames()
        Returns:
        true if the connection is configured to perform frame tracing.
      • sslEnabled

        public boolean sslEnabled()
        Returns:
        true if SSL support has been enabled for this connection.
      • sslEnabled

        public ConnectionOptions sslEnabled​(boolean sslEnabled)
        Controls if the connection will attempt to connect using a secure IO layer or not.

        This option enables or disables SSL encryption when connecting to a remote peer. To control specifics of the SSL configuration for the Connection the values must be updated in the SslOptions configuration prior to creating the connection.

        Parameters:
        sslEnabled - Is SSL encryption enabled for the Connection.
        Returns:
        this ConnectionOptions instance.
      • defaultNextReceiverPolicy

        public NextReceiverPolicy defaultNextReceiverPolicy()
        Returns:
        the configured default next receiver policy for the connection.
      • defaultNextReceiverPolicy

        public ConnectionOptions defaultNextReceiverPolicy​(NextReceiverPolicy policy)
        Configures the default next receiver policy for this connection and any session that is created without specifying user defined session default options.
        Parameters:
        policy - The next receiver policy to assign as the default.
        Returns:
        this ConnectionOptions instance.
      • disconnectedHandler

        public ConnectionOptions disconnectedHandler​(BiConsumer<Connection,​DisconnectionEvent> disconnectedHandler)
        Configures a handler that will be notified when the connection has failed and cannot be recovered should reconnect be enabled. Once notified of the failure the Connection is no longer operable and the Connection APIs will throw an exception to indicate that the connection has failed. The client application should close a failed Connection once it becomes aware of the failure to ensure all connection resources are cleaned up properly.
        Parameters:
        disconnectedHandler - the connection failed handler to notify when the connection fails for any reason.
        Returns:
        this ConnectionOptions instance.
        See Also:
        interruptedHandler, connectedHandler, disconnectedHandler