Package io.vertx.ext.stomp

## Class StompClientOptions

- java.lang.Object
- - io.vertx.core.net.NetworkOptions
  - - io.vertx.core.net.TCPSSLOptions
    - - io.vertx.core.net.ClientOptionsBase
      - - io.vertx.core.net.NetClientOptions
        - - io.vertx.ext.stomp.StompClientOptions

- All Implemented Interfaces:
    `StompOptions`

      public class StompClientOptions
      extends NetClientOptions
      implements StompOptions

  Options used to configure a STOMP client. As a STOMP client wraps a Net client, you can also configure the underlying NET client.
  Author:
    Clement Escoffier

- - ### Field Summary

    - ### Fields inherited from class io.vertx.core.net.NetClientOptions

      `DEFAULT_HOSTNAME_VERIFICATION_ALGORITHM, DEFAULT_RECONNECT_ATTEMPTS, DEFAULT_RECONNECT_INTERVAL, DEFAULT_REGISTER_WRITE_HANDLER`

    - ### Fields inherited from class io.vertx.core.net.ClientOptionsBase

      `DEFAULT_CONNECT_TIMEOUT, DEFAULT_METRICS_NAME`

    - ### Fields inherited from class io.vertx.core.net.TCPSSLOptions

      `DEFAULT_IDLE_TIMEOUT, DEFAULT_IDLE_TIMEOUT_TIME_UNIT, DEFAULT_READ_IDLE_TIMEOUT, DEFAULT_SO_LINGER, DEFAULT_SSL, DEFAULT_SSL_ENGINE, DEFAULT_TCP_CORK, DEFAULT_TCP_FAST_OPEN, DEFAULT_TCP_KEEP_ALIVE, DEFAULT_TCP_NO_DELAY, DEFAULT_TCP_QUICKACK, DEFAULT_TCP_USER_TIMEOUT, DEFAULT_WRITE_IDLE_TIMEOUT`

    - ### Fields inherited from class io.vertx.core.net.NetworkOptions

      `DEFAULT_LOG_ACTIVITY_FORMAT, DEFAULT_LOG_ENABLED, DEFAULT_RECEIVE_BUFFER_SIZE, DEFAULT_REUSE_ADDRESS, DEFAULT_REUSE_PORT, DEFAULT_SEND_BUFFER_SIZE, DEFAULT_TRAFFIC_CLASS`

    - ### Fields inherited from interface io.vertx.ext.stomp.StompOptions

      `DEFAULT_STOMP_HEARTBEAT, DEFAULT_STOMP_HOST, DEFAULT_STOMP_PORT, DEFAULT_SUPPORTED_VERSIONS, DEFAULT_TRAILING_LINE, UTF_8`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StompClientOptions()` | Default constructor.
    `StompClientOptions​(JsonObject json)` | Creates an instance from a `JsonObject`.
    `StompClientOptions​(StompClientOptions other)` | Copy constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<String>` | `getAcceptedVersions()` | Gets the list of STOMP protocol versions accepted by the client.
    `JsonObject` | `getHeartbeat()` | Gets the heartbeat configuration.
    `String` | `getHost()` | Gets the STOMP server host.
    `String` | `getLogin()` | Gets the configured login.
    `String` | `getPasscode()` | Gets the configured passcode.
    `int` | `getPort()` | Gets the STOMP server port.
    `String` | `getVirtualHost()` | Gets the virtual host that would be use a "host" header value in the `CONNECT` frame.
    `boolean` | `isAutoComputeContentLength()` | Whether or not the automatic computation of the `content-length` header is enabled.
    `boolean` | `isBypassHostHeader()` | Checks whether or not the `host` header must be dropped from the `CONNECT/STOMP` frame.
    `boolean` | `isTrailingLine()` | Gets whether or not an empty line should be appended to the written STOMP frame.
    `boolean` | `isUseStompFrame()` | Checks whether or not the connection is made using the `STOMP` command instead of the `CONNECT` command.
    `StompClientOptions` | `setAcceptedVersions​(List<String> acceptedVersions)` | Sets the list of STOMP protocol versions accepted by the client.
    `StompClientOptions` | `setAutoComputeContentLength​(boolean autoComputeContentLength)` | Sets whether or not the automatic computation of the `content-length` header is enabled.
    `StompClientOptions` | `setBypassHostHeader​(boolean bypassHostHeader)` | Sets whether or not the `host` header must be dropped from the `CONNECT/STOMP` frame.
    `StompClientOptions` | `setHeartbeat​(JsonObject heartbeat)` | Sets the heartbeat configuration.
    `StompClientOptions` | `setHost​(String host)` | Sets the STOMP server host.
    `StompClientOptions` | `setLogin​(String login)` | Sets the login to use if the STOMP server is secured.
    `StompClientOptions` | `setPasscode​(String passcode)` | Sets the passcode to use if the STOMP server is secured.
    `StompClientOptions` | `setPort​(int port)` | Sets the STOMP server port.
    `StompClientOptions` | `setSsl​(boolean ssl)` | Set whether SSL/TLS is enabled
    `StompClientOptions` | `setTrailingLine​(boolean trailingLine)` | Sets whether or not an empty line should be appended to the written STOMP frame.
    `StompClientOptions` | `setUseStompFrame​(boolean useStompFrame)` | Sets whether or not the connection is made using the `STOMP` command instead of the `CONNECT` command.
    `StompClientOptions` | `setVirtualHost​(String virtualHost)` | Sets the virtual host that will be used as "host" header value in the `CONNECT` frame.
    `JsonObject` | `toJson()` | Convert to JSON

    - ### Methods inherited from class io.vertx.core.net.NetClientOptions

      `addCrlPath, addCrlValue, addEnabledCipherSuite, addEnabledSecureTransportProtocol, addNonProxyHost, getApplicationLayerProtocols, getHostnameVerificationAlgorithm, getReconnectAttempts, getReconnectInterval, isRegisterWriteHandler, removeEnabledCipherSuite, removeEnabledSecureTransportProtocol, setActivityLogDataFormat, setApplicationLayerProtocols, setConnectTimeout, setEnabledSecureTransportProtocols, setHostnameVerificationAlgorithm, setIdleTimeout, setIdleTimeoutUnit, setKeyCertOptions, setLocalAddress, setLogActivity, setMetricsName, setNonProxyHosts, setProxyOptions, setReadIdleTimeout, setReceiveBufferSize, setReconnectAttempts, setReconnectInterval, setRegisterWriteHandler, setReuseAddress, setReusePort, setSendBufferSize, setSoLinger, setSslEngineOptions, setSslHandshakeTimeout, setSslHandshakeTimeoutUnit, setTcpCork, setTcpFastOpen, setTcpKeepAlive, setTcpNoDelay, setTcpQuickAck, setTrafficClass, setTrustAll, setTrustOptions, setUseAlpn, setWriteIdleTimeout`

    - ### Methods inherited from class io.vertx.core.net.ClientOptionsBase

      `getConnectTimeout, getLocalAddress, getMetricsName, getNonProxyHosts, getOrCreateSSLOptions, getProxyOptions, getSslOptions, isTrustAll, setTcpUserTimeout`

    - ### Methods inherited from class io.vertx.core.net.TCPSSLOptions

      `getCrlPaths, getCrlValues, getEnabledCipherSuites, getEnabledSecureTransportProtocols, getIdleTimeout, getIdleTimeoutUnit, getKeyCertOptions, getReadIdleTimeout, getSoLinger, getSslEngineOptions, getSslHandshakeTimeout, getSslHandshakeTimeoutUnit, getTcpUserTimeout, getTrustOptions, getWriteIdleTimeout, isSsl, isTcpCork, isTcpFastOpen, isTcpKeepAlive, isTcpNoDelay, isTcpQuickAck, isUseAlpn`

    - ### Methods inherited from class io.vertx.core.net.NetworkOptions

      `getActivityLogDataFormat, getLogActivity, getReceiveBufferSize, getSendBufferSize, getTrafficClass, isReuseAddress, isReusePort`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### StompClientOptions

          public StompClientOptions()

      Default constructor.

    - #### StompClientOptions

          public StompClientOptions​(StompClientOptions other)

      Copy constructor.
      Parameters:
        `other` - The other `StompServerOptions` to copy when creating this

    - #### StompClientOptions

          public StompClientOptions​(JsonObject json)

      Creates an instance from a `JsonObject`.
      Parameters:
        `json` - the JsonObject to create it from

  - ### Method Detail

    - #### toJson

          public JsonObject toJson()

      Description copied from class: `ClientOptionsBase`
      Convert to JSON
      Overrides:
        `toJson` in class `NetClientOptions`
      Returns:
        a JSON representation of the options.

    - #### getHost

          public String getHost()

      Gets the STOMP server host.
      Returns:
        the STOMP server host

    - #### setHost

          public StompClientOptions setHost​(String host)

      Sets the STOMP server host. `0.0.0.0` by default.
      Parameters:
        `host` - the host name of the STOMP server
      Returns:
        the current `StompClientOptions`

    - #### getLogin

          public String getLogin()

      Gets the configured login.
      Returns:
        the login

    - #### setLogin

          public StompClientOptions setLogin​(String login)

      Sets the login to use if the STOMP server is secured.
      Parameters:
        `login` - the login
      Returns:
        the current `StompClientOptions`

    - #### getPasscode

          public String getPasscode()

      Gets the configured passcode.
      Returns:
        the passcode

    - #### setPasscode

          public StompClientOptions setPasscode​(String passcode)

      Sets the passcode to use if the STOMP server is secured.
      Parameters:
        `passcode` - the passcode
      Returns:
        the current `StompClientOptions`

    - #### getPort

          public int getPort()

      Gets the STOMP server port.
      Returns:
        the port

    - #### setPort

          public StompClientOptions setPort​(int port)

      Sets the STOMP server port. `61613` by default.
      Parameters:
        `port` - the port
      Returns:
        the current `StompClientOptions`

    - #### getAcceptedVersions

          public List<String> getAcceptedVersions()

      Gets the list of STOMP protocol versions accepted by the client.
      Returns:
        the list of accepted version

    - #### setAcceptedVersions

          public StompClientOptions setAcceptedVersions​(List<String> acceptedVersions)

      Sets the list of STOMP protocol versions accepted by the client. The list must be ordered from the lowest version to the highest. By default the following list is used: `1.0, 1.1, 1.2`
      Parameters:
        `acceptedVersions` - the order list of accepted versions
      Returns:
        the current `StompClientOptions`

    - #### isAutoComputeContentLength

          public boolean isAutoComputeContentLength()

      Whether or not the automatic computation of the `content-length` header is enabled.
      Returns:
        whether or not the option is enabled

    - #### setAutoComputeContentLength

          public StompClientOptions setAutoComputeContentLength​(boolean autoComputeContentLength)

      Sets whether or not the automatic computation of the `content-length` header is enabled. If enabled, the `content-length` header is set in all frame with a body that do not explicitly set the header. The option is enabled by default.
      Parameters:
        `autoComputeContentLength` - `true` to enable the option, `false` to disable it.
      Returns:
        the current `StompClientOptions`

    - #### isUseStompFrame

          public boolean isUseStompFrame()

      Checks whether or not the connection is made using the `STOMP` command instead of the `CONNECT` command. The `STOMP` command has been introduced in the 1.2 version of the protocol to ease the network analysis (as `CONNECT` is also used by HTTP. To be compliant with server not implementing the 1.2 specification, this option should be disabled.
      Returns:
        whether or not the option is enabled

    - #### setUseStompFrame

          public StompClientOptions setUseStompFrame​(boolean useStompFrame)

      Sets whether or not the connection is made using the `STOMP` command instead of the `CONNECT` command. The `STOMP` command has been introduced in the 1.2 version of the protocol to ease the network analysis (as `CONNECT` is also used by HTTP. To be compliant with server not implementing the 1.2 specification, this option should be disabled. This option is disabled by default.
      Parameters:
        `useStompFrame` - `true` to enable the option, `false` to disable it.
      Returns:
        the current `StompClientOptions`

    - #### setSsl

          public StompClientOptions setSsl​(boolean ssl)

      Description copied from class: `TCPSSLOptions`
      Set whether SSL/TLS is enabled
      Overrides:
        `setSsl` in class `NetClientOptions`
      Parameters:
        `ssl` - true if enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### isBypassHostHeader

          public boolean isBypassHostHeader()

      Checks whether or not the `host` header must be dropped from the `CONNECT/STOMP` frame. Server may be picky about this header (such as RabbitMQ that does not support it).
      Returns:
        whether or not the option is enabled

    - #### setBypassHostHeader

          public StompClientOptions setBypassHostHeader​(boolean bypassHostHeader)

      Sets whether or not the `host` header must be dropped from the `CONNECT/STOMP` frame. Server may be picky about this header (such as RabbitMQ that does not support it). Options disabled by default.
      Parameters:
        `bypassHostHeader` - `true` to enable the option, `false` to disable it.
      Returns:
        the current `StompClientOptions`

    - #### getHeartbeat

          public JsonObject getHeartbeat()

      Gets the heartbeat configuration.
      Returns:
        the heartbeat configuration
      See Also:
        `Frame.Heartbeat`

    - #### setHeartbeat

          public StompClientOptions setHeartbeat​(JsonObject heartbeat)

      Sets the heartbeat configuration.
      Parameters:
        `heartbeat` - the configuration
      Returns:
        the current `StompClientOptions`
      See Also:
        `Frame.Heartbeat`

    - #### getVirtualHost

          public String getVirtualHost()

      Gets the virtual host that would be use a "host" header value in the `CONNECT` frame. This option is useful for Cloud AMQP.
      Returns:
        the virtual host

    - #### setVirtualHost

          public StompClientOptions setVirtualHost​(String virtualHost)

      Sets the virtual host that will be used as "host" header value in the `CONNECT` frame.
      Parameters:
        `virtualHost` - the virtual host
      Returns:
        the current `StompClientOptions`

    - #### isTrailingLine

          public boolean isTrailingLine()

      Gets whether or not an empty line should be appended to the written STOMP frame. This option is disabled by default. This option is not compliant with the STOMP specification, and so is not documented on purpose.
      Returns:
        whether or not an empty line should be appended to the written STOMP frame.

    - #### setTrailingLine

          public StompClientOptions setTrailingLine​(boolean trailingLine)

      Sets whether or not an empty line should be appended to the written STOMP frame. This option is disabled by default. This option is not compliant with the STOMP specification, and so is not documented on purpose.
      Parameters:
        `trailingLine` - `true` to add an empty line, `false` otherwise
      Returns:
        the current `StompClientOptions`