Class StompServerOptions

    • Constructor Detail

      • StompServerOptions

        public StompServerOptions()
        Default constructor.
      • StompServerOptions

        public StompServerOptions​(JsonObject json)
        Create an instance from a JsonObject.
        Parameters:
        json - the JsonObject to create it from
    • Method Detail

      • getMaxBodyLength

        public int getMaxBodyLength()
        Gets the max length of the frame body accepted by the server. If a frame exceeds this size, the frame is rejected and an error is sent to the client.
        Returns:
        the max body length in bytes
      • setMaxBodyLength

        public StompServerOptions setMaxBodyLength​(int maxBodyLength)
        Sets the max body length accepted by the server. 10 Mb by default.
        Parameters:
        maxBodyLength - the length in bytes.
        Returns:
        the current StompServerOptions
      • getMaxHeaderLength

        public int getMaxHeaderLength()
        Gets the max length of header's value. If a frame has an header with a value exceeding this length, the frame is rejected and an error is sent to the client. 10240 by default.
        Returns:
        the max header length
      • setMaxHeaderLength

        public StompServerOptions setMaxHeaderLength​(int maxHeaderLength)
        Sets the max header length.
        Parameters:
        maxHeaderLength - the max length of headers
        Returns:
        the current StompServerOptions
      • getMaxHeaders

        public int getMaxHeaders()
        Gets the maximum number of headers supported by the server. If a frame exceeds the number of headers, the frame is rejected and an error is sent to the client.
        Returns:
        the max number of headers
      • setMaxHeaders

        public StompServerOptions setMaxHeaders​(int maxHeaders)
        Sets the maximum number of headers. 1000 by default.
        Parameters:
        maxHeaders - the number of headers
        Returns:
        the current StompServerOptions
      • getSupportedVersions

        public List<String> getSupportedVersions()
        Gets the STOMP protocol versions supported by the server. Versions are provided in the decreasing order. By default it's "1.2", "1.1", "1.0".
        Returns:
        the list of supported versions
      • setSupportedVersions

        public StompServerOptions setSupportedVersions​(List<String> supportedVersions)
        Sets the STOMP protocol versions supported by the server. Versions must be given in the decreasing order.
        Parameters:
        supportedVersions - the set of supported versions.
        Returns:
        the current StompServerOptions
      • isSecured

        public boolean isSecured()
        Checks whether or not the server is secured (meaning it has an authentication mechanism). Security is disabled by default and requires an AuthenticationProvider handler.
        Returns:
        whether or not the option is enabled.
      • isSendErrorOnNoSubscriptions

        public boolean isSendErrorOnNoSubscriptions()
        Checks whether or not an error is sent to the client when this client sends a message to an not subscribed destinations (no subscriptions on this destination).
        Returns:
        whether or not the option is enabled.
      • setSendErrorOnNoSubscriptions

        public StompServerOptions setSendErrorOnNoSubscriptions​(boolean sendErrorOnNoSubscriptions)
        Sets whether or not an error is sent to the client when this client sends a message to an not subscribed destinations (no subscriptions on this destination).
        Parameters:
        sendErrorOnNoSubscriptions - whether or not the option should be enabled.
        Returns:
        the current StompServerOptions
      • getTimeFactor

        public int getTimeFactor()
        Gets the time factor, i.e. a multiplier applied to time constraints as a window error. 1 by default.
        Returns:
        the time factor.
      • setTimeFactor

        public StompServerOptions setTimeFactor​(int timeFactor)
        Sets the time factor.
        Parameters:
        timeFactor - the time factor
        Returns:
        the current StompServerOptions
      • setSsl

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

        public int getPort()
        Overrides:
        getPort in class NetServerOptions
        Returns:
        the port, -1 if the TCP server has been disabled.
      • getHeartbeat

        public JsonObject getHeartbeat()
        Gets the heartbeat configuration. Defaults to x: 1000, y: 1000.
        Returns:
        the heartbeat configuration.
        See Also:
        Frame.Heartbeat
      • getMaxFrameInTransaction

        public int getMaxFrameInTransaction()
        Gets the maximum number of frames that can be added to a transaction. If the number of frame added to a transaction exceeds this threshold, the client receives an ERROR frame and is disconnected.
        Returns:
        the max number of frame in transaction
      • setMaxFrameInTransaction

        public StompServerOptions setMaxFrameInTransaction​(int maxFrameInTransaction)
        Sets the maximum number of frame that can be added in a transaction. If the number of frame added to a transaction exceeds this threshold, the client receives an ERROR frame and is disconnected. The default is 1000.
        Parameters:
        maxFrameInTransaction - the max number of frame
        Returns:
        the current StompServerOptions
      • getTransactionChunkSize

        public int getTransactionChunkSize()
        Gets the chunk size when replaying a transaction. To avoid blocking the event loop for too long, large transactions are split into chunks, replayed one by one. This settings gets the chunk size.
        Returns:
        the size of the chunk
      • setTransactionChunkSize

        public StompServerOptions setTransactionChunkSize​(int transactionChunkSize)
        Sets the chunk size when replaying a transaction. To avoid blocking the event loop for too long, large transactions are split into chunks, replayed one by one. This settings sets the chunk size.
        Parameters:
        transactionChunkSize - the size, must be strictly positive
        Returns:
        the current StompServerOptions
      • getMaxSubscriptionsByClient

        public int getMaxSubscriptionsByClient()
        Gets the maximum of subscriptions a client is allowed to register. If a client exceeds this number, it receives an error and the connection is closed.
        Returns:
        the max number of subscriptions per client
      • setMaxSubscriptionsByClient

        public StompServerOptions setMaxSubscriptionsByClient​(int maxSubscriptionsByClient)
        Sets the maximum of subscriptions a client is allowed to register. If a client exceeds this number, it receives an error and the connection is closed.
        Parameters:
        maxSubscriptionsByClient - the max number of subscriptions
        Returns:
        the current StompServerOptions
      • isWebsocketBridge

        public boolean isWebsocketBridge()
        Checks whether or not the web socket bridge is enabled. This bridge allows receiving and sending STOMP frames on a web socket. If set to true, the Stomp server provides a Handler to read and write from the web socket. This Handler must be passed to HttpServer.webSocketHandler(Handler).
        Returns:
        whether or not the web socket bridge is enabled, false by default.
      • setWebsocketBridge

        public StompServerOptions setWebsocketBridge​(boolean websocketBridge)
        Enables or disables the web socket bridge.
        Parameters:
        websocketBridge - whether or not the web socket bridge should be enabled.
        Returns:
        the current StompServerOptions
      • getWebsocketPath

        public String getWebsocketPath()
        Gets the path for the web socket. Only web sockets frame receiving on this path would be handled. By default it's DEFAULT_WEBSOCKET_PATH. The returned String is not a prefix but an exact match.
        Returns:
        the path
      • setWebsocketPath

        public StompServerOptions setWebsocketPath​(String websocketPath)
        Sets the websocket path. Only frames received on this path would be considered as STOMP frame.
        Parameters:
        websocketPath - the path, must not be null.
        Returns:
        the current StompServerOptions
      • 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 StompServerOptions 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 StompServerOptions