Class EventBusOptions

    • Field Detail

      • DEFAULT_CLUSTER_HOST

        public static final String DEFAULT_CLUSTER_HOST
        The default cluster host = null which means use the same as the cluster manager, if possible.
      • DEFAULT_CLUSTER_PORT

        public static final int DEFAULT_CLUSTER_PORT
        The default cluster port = 0 which means assign a random port.
        See Also:
        Constant Field Values
      • DEFAULT_CLUSTER_PUBLIC_HOST

        public static final String DEFAULT_CLUSTER_PUBLIC_HOST
        The default cluster public host = null which means use the same as the cluster host.
      • DEFAULT_CLUSTER_PUBLIC_PORT

        public static final int DEFAULT_CLUSTER_PUBLIC_PORT
        The default cluster public port = -1 which means use the same as the cluster port.
        See Also:
        Constant Field Values
      • DEFAULT_CLUSTER_PING_INTERVAL

        public static final long DEFAULT_CLUSTER_PING_INTERVAL
        The default value of cluster ping interval = 20000 ms.
      • DEFAULT_CLUSTER_PING_REPLY_INTERVAL

        public static final long DEFAULT_CLUSTER_PING_REPLY_INTERVAL
        The default value of cluster ping reply interval = 20000 ms.
      • DEFAULT_ACCEPT_BACKLOG

        public static final int DEFAULT_ACCEPT_BACKLOG
        The default accept backlog = 1024
        See Also:
        Constant Field Values
      • DEFAULT_CLIENT_AUTH

        public static final ClientAuth DEFAULT_CLIENT_AUTH
        Default value of whether client auth is required (SSL/TLS) = No
      • DEFAULT_RECONNECT_ATTEMPTS

        public static final int DEFAULT_RECONNECT_ATTEMPTS
        The default value for reconnect attempts = 0
        See Also:
        Constant Field Values
      • DEFAULT_RECONNECT_INTERVAL

        public static final long DEFAULT_RECONNECT_INTERVAL
        The default value for reconnect interval = 1000 ms
        See Also:
        Constant Field Values
      • DEFAULT_CONNECT_TIMEOUT

        public static final int DEFAULT_CONNECT_TIMEOUT
        The default value of connect timeout = 60000 ms
        See Also:
        Constant Field Values
      • DEFAULT_TRUST_ALL

        public static final boolean DEFAULT_TRUST_ALL
        The default value of whether all servers (SSL/TLS) should be trusted = true
        See Also:
        Constant Field Values
    • Constructor Detail

      • EventBusOptions

        public EventBusOptions()
        Creates a new instance of EventBusOptions using the default configuration.
      • EventBusOptions

        public EventBusOptions​(JsonObject json)
        Creates a new instance of EventBusOptions from the JSON object. This JSOn object has (generally) be generated using toJson().
        Parameters:
        json - the json object
    • Method Detail

      • setClientAuth

        public EventBusOptions setClientAuth​(ClientAuth clientAuth)
        Set whether client auth is required
        Parameters:
        clientAuth - One of "NONE, REQUEST, REQUIRED". If it's set to "REQUIRED" then server will require the SSL cert to be presented otherwise it won't accept the request. If it's set to "REQUEST" then it won't mandate the certificate to be presented, basically make it optional.
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        NetServerOptions.setClientAuth(ClientAuth)
      • getHost

        public String getHost()
        Returns:
        the host or null if the clustered eventbus should try to pick one automatically
      • setHost

        public EventBusOptions setHost​(String host)
        Sets the host. Defaults to null.

        When the clustered eventbus starts, it tries to bind to the provided host. If host is null, then it tries to bind to the same host as the underlying cluster manager. As a last resort, an address will be picked among the available network interfaces.

        Parameters:
        host - the host
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        NetServerOptions.setHost(String)
      • setReconnectAttempts

        public EventBusOptions setReconnectAttempts​(int attempts)
        Sets the value of reconnect attempts.
        Parameters:
        attempts - the maximum number of reconnect attempts
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        NetClientOptions.setReconnectAttempts(int)
      • setIdleTimeout

        public EventBusOptions setIdleTimeout​(int idleTimeout)
        Description copied from class: TCPSSLOptions
        Set the idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received nor sent within the timeout. If you want change default time unit, use TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
        Overrides:
        setIdleTimeout in class TCPSSLOptions
        Parameters:
        idleTimeout - the timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setReadIdleTimeout

        public EventBusOptions setReadIdleTimeout​(int idleTimeout)
        Description copied from class: TCPSSLOptions
        Set the read idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is received within the timeout. If you want change default time unit, use TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
        Overrides:
        setReadIdleTimeout in class TCPSSLOptions
        Parameters:
        idleTimeout - the read timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setWriteIdleTimeout

        public EventBusOptions setWriteIdleTimeout​(int idleTimeout)
        Description copied from class: TCPSSLOptions
        Set the write idle timeout, default time unit is seconds. Zero means don't timeout. This determines if a connection will timeout and be closed if no data is sent within the timeout. If you want change default time unit, use TCPSSLOptions.setIdleTimeoutUnit(TimeUnit)
        Overrides:
        setWriteIdleTimeout in class TCPSSLOptions
        Parameters:
        idleTimeout - the write timeout
        Returns:
        a reference to this, so the API can be used fluently
      • setIdleTimeoutUnit

        public EventBusOptions setIdleTimeoutUnit​(TimeUnit idleTimeoutUnit)
        Description copied from class: TCPSSLOptions
        Set the idle timeout unit. If not specified, default is seconds.
        Overrides:
        setIdleTimeoutUnit in class TCPSSLOptions
        Parameters:
        idleTimeoutUnit - specify time unit.
        Returns:
        a reference to this, so the API can be used fluently
      • setSoLinger

        public EventBusOptions setSoLinger​(int soLinger)
        Description copied from class: TCPSSLOptions
        Set whether SO_linger keep alive is enabled
        Overrides:
        setSoLinger in class TCPSSLOptions
        Parameters:
        soLinger - true if SO_linger is enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setSsl

        public EventBusOptions setSsl​(boolean ssl)
        Description copied from class: TCPSSLOptions
        Set whether SSL/TLS is enabled
        Overrides:
        setSsl in class TCPSSLOptions
        Parameters:
        ssl - true if enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setTcpKeepAlive

        public EventBusOptions setTcpKeepAlive​(boolean tcpKeepAlive)
        Description copied from class: TCPSSLOptions
        Set whether TCP keep alive is enabled
        Overrides:
        setTcpKeepAlive in class TCPSSLOptions
        Parameters:
        tcpKeepAlive - true if TCP keep alive is enabled
        Returns:
        a reference to this, so the API can be used fluently
      • setTcpNoDelay

        public EventBusOptions setTcpNoDelay​(boolean tcpNoDelay)
        Description copied from class: TCPSSLOptions
        Set whether TCP no delay is enabled
        Overrides:
        setTcpNoDelay in class TCPSSLOptions
        Parameters:
        tcpNoDelay - true if TCP no delay is enabled (Nagle disabled)
        Returns:
        a reference to this, so the API can be used fluently
      • setReceiveBufferSize

        public EventBusOptions setReceiveBufferSize​(int receiveBufferSize)
        Description copied from class: NetworkOptions
        Set the TCP receive buffer size
        Overrides:
        setReceiveBufferSize in class TCPSSLOptions
        Parameters:
        receiveBufferSize - the buffers size, in bytes
        Returns:
        a reference to this, so the API can be used fluently
      • setReuseAddress

        public EventBusOptions setReuseAddress​(boolean reuseAddress)
        Description copied from class: NetworkOptions
        Set the value of reuse address
        Overrides:
        setReuseAddress in class TCPSSLOptions
        Parameters:
        reuseAddress - the value of reuse address
        Returns:
        a reference to this, so the API can be used fluently
      • setReusePort

        public EventBusOptions setReusePort​(boolean reusePort)
        Description copied from class: NetworkOptions
        Set the value of reuse port.

        This is only supported by native transports.

        Overrides:
        setReusePort in class TCPSSLOptions
        Parameters:
        reusePort - the value of reuse port
        Returns:
        a reference to this, so the API can be used fluently
      • setSendBufferSize

        public EventBusOptions setSendBufferSize​(int sendBufferSize)
        Description copied from class: NetworkOptions
        Set the TCP send buffer size
        Overrides:
        setSendBufferSize in class TCPSSLOptions
        Parameters:
        sendBufferSize - the buffers size, in bytes
        Returns:
        a reference to this, so the API can be used fluently
      • setTrafficClass

        public EventBusOptions setTrafficClass​(int trafficClass)
        Description copied from class: NetworkOptions
        Set the value of traffic class
        Overrides:
        setTrafficClass in class TCPSSLOptions
        Parameters:
        trafficClass - the value of traffic class
        Returns:
        a reference to this, so the API can be used fluently
      • setUseAlpn

        public EventBusOptions setUseAlpn​(boolean useAlpn)
        Description copied from class: TCPSSLOptions
        Set the ALPN usage.
        Overrides:
        setUseAlpn in class TCPSSLOptions
        Parameters:
        useAlpn - true when Application-Layer Protocol Negotiation should be used
      • setEnabledSecureTransportProtocols

        public EventBusOptions setEnabledSecureTransportProtocols​(Set<String> enabledSecureTransportProtocols)
        Description copied from class: TCPSSLOptions
        Sets the list of enabled SSL/TLS protocols.
        Overrides:
        setEnabledSecureTransportProtocols in class TCPSSLOptions
        Parameters:
        enabledSecureTransportProtocols - the SSL/TLS protocols to enable
        Returns:
        a reference to this, so the API can be used fluently
      • addEnabledSecureTransportProtocol

        public EventBusOptions addEnabledSecureTransportProtocol​(String protocol)
        Description copied from class: TCPSSLOptions
        Add an enabled SSL/TLS protocols, appended to the ordered protocols.
        Overrides:
        addEnabledSecureTransportProtocol in class TCPSSLOptions
        Parameters:
        protocol - the SSL/TLS protocol to enable
        Returns:
        a reference to this, so the API can be used fluently
      • removeEnabledSecureTransportProtocol

        public EventBusOptions removeEnabledSecureTransportProtocol​(String protocol)
        Description copied from class: TCPSSLOptions
        Removes an enabled SSL/TLS protocol from the ordered protocols.
        Overrides:
        removeEnabledSecureTransportProtocol in class TCPSSLOptions
        Parameters:
        protocol - the SSL/TLS protocol to disable
        Returns:
        a reference to this, so the API can be used fluently
      • setTcpFastOpen

        public EventBusOptions setTcpFastOpen​(boolean tcpFastOpen)
        Description copied from class: TCPSSLOptions
        Enable the TCP_FASTOPEN option - only with linux native transport.
        Overrides:
        setTcpFastOpen in class TCPSSLOptions
        Parameters:
        tcpFastOpen - the fast open value
      • setTcpCork

        public EventBusOptions setTcpCork​(boolean tcpCork)
        Description copied from class: TCPSSLOptions
        Enable the TCP_CORK option - only with linux native transport.
        Overrides:
        setTcpCork in class TCPSSLOptions
        Parameters:
        tcpCork - the cork value
      • setTcpQuickAck

        public EventBusOptions setTcpQuickAck​(boolean tcpQuickAck)
        Description copied from class: TCPSSLOptions
        Enable the TCP_QUICKACK option - only with linux native transport.
        Overrides:
        setTcpQuickAck in class TCPSSLOptions
        Parameters:
        tcpQuickAck - the quick ack value
      • setTcpUserTimeout

        public EventBusOptions setTcpUserTimeout​(int tcpUserTimeout)
        Description copied from class: TCPSSLOptions
        Sets the TCP_USER_TIMEOUT option - only with linux native transport.
        Overrides:
        setTcpUserTimeout in class TCPSSLOptions
        Parameters:
        tcpUserTimeout - the tcp user timeout value
      • setLogActivity

        public EventBusOptions setLogActivity​(boolean logEnabled)
        Description copied from class: NetworkOptions
        Set to true to enabled network activity logging: Netty's pipeline is configured for logging on Netty's logger.
        Overrides:
        setLogActivity in class TCPSSLOptions
        Parameters:
        logEnabled - true for logging the network activity
        Returns:
        a reference to this, so the API can be used fluently
      • setSslHandshakeTimeout

        public EventBusOptions setSslHandshakeTimeout​(long sslHandshakeTimeout)
        Description copied from class: TCPSSLOptions
        Set the SSL handshake timeout, default time unit is seconds.
        Overrides:
        setSslHandshakeTimeout in class TCPSSLOptions
        Parameters:
        sslHandshakeTimeout - the SSL handshake timeout to set, in milliseconds
        Returns:
        a reference to this, so the API can be used fluently
      • setSslHandshakeTimeoutUnit

        public EventBusOptions setSslHandshakeTimeoutUnit​(TimeUnit sslHandshakeTimeoutUnit)
        Description copied from class: TCPSSLOptions
        Set the SSL handshake timeout unit. If not specified, default is seconds.
        Overrides:
        setSslHandshakeTimeoutUnit in class TCPSSLOptions
        Parameters:
        sslHandshakeTimeoutUnit - specify time unit.
        Returns:
        a reference to this, so the API can be used fluently
      • setTrustAll

        public EventBusOptions setTrustAll​(boolean trustAll)
        Set whether all server certificates should be trusted.
        Parameters:
        trustAll - true if all should be trusted
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        NetClientOptions.setTrustAll(boolean)
      • setConnectTimeout

        public EventBusOptions setConnectTimeout​(int connectTimeout)
        Sets the connect timeout
        Parameters:
        connectTimeout - connect timeout, in ms
        Returns:
        a reference to this, so the API can be used fluently
        See Also:
        NetClientOptions.setConnectTimeout(int)
      • getClusterPingInterval

        public long getClusterPingInterval()
        Get the value of cluster ping reply interval, in ms. After sending a ping, if a pong is not received in this time, the node will be considered dead.
        Returns:
        the value of cluster ping reply interval
      • setClusterPingInterval

        public EventBusOptions setClusterPingInterval​(long clusterPingInterval)
        Set the value of cluster ping interval, in ms.
        Parameters:
        clusterPingInterval - The value of cluster ping interval, in ms.
        Returns:
        a reference to this, so the API can be used fluently
      • getClusterPingReplyInterval

        public long getClusterPingReplyInterval()
        Get the value of cluster ping reply interval, in ms. After sending a ping, if a pong is not received in this time, the node will be considered dead.
        Returns:
        the value of cluster ping reply interval
      • setClusterPingReplyInterval

        public EventBusOptions setClusterPingReplyInterval​(long clusterPingReplyInterval)
        Set the value of cluster ping reply interval, in ms.
        Parameters:
        clusterPingReplyInterval - The value of cluster ping reply interval, in ms.
        Returns:
        a reference to this, so the API can be used fluently
      • getClusterPublicHost

        public String getClusterPublicHost()
        Get the public facing host to be used when clustering.
        Returns:
        the public facing port
      • setClusterPublicHost

        public EventBusOptions setClusterPublicHost​(String clusterPublicHost)
        Set the public facing hostname to be used for clustering. Sometimes, e.g. when running on certain clouds, the local address the server listens on for clustering is not the same address that other nodes connect to it at, as the OS / cloud infrastructure does some kind of proxying. If this is the case you can specify a public hostname which is different from the hostname the server listens at.

        The default value is null which means use the same as the cluster hostname.

        Parameters:
        clusterPublicHost - the public host name to use
        Returns:
        a reference to this, so the API can be used fluently
      • getClusterPublicPort

        public int getClusterPublicPort()
        Gets the public facing port to be used when clustering.
        Returns:
        the public facing port
      • setClusterPublicPort

        public EventBusOptions setClusterPublicPort​(int clusterPublicPort)
        See setClusterPublicHost(String) for an explanation.
        Parameters:
        clusterPublicPort - the public port to use
        Returns:
        a reference to this, so the API can be used fluently
      • getClusterNodeMetadata

        public JsonObject getClusterNodeMetadata()
        User-supplied information about this node when Vert.x is clustered.

        The data may be to select a node for a given message. For example, it could be used to implement a partioning strategy.

        Not used by default.

        Returns:
        user-supplied information about this node when Vert.x is clustered
      • setClusterNodeMetadata

        public EventBusOptions setClusterNodeMetadata​(JsonObject clusterNodeMetadata)
        Set information about this node when Vert.x is clustered.

        The data may be used to select a node for a given message. For example, it could be used to implement a partioning strategy.

        Not used by default.

        Parameters:
        clusterNodeMetadata - user-supplied information about this node when Vert.x is clustered
        Returns:
        a reference to this, so the API can be used fluently