Class WebSocketMessageBrokerStats

java.lang.Object
org.springframework.web.socket.config.WebSocketMessageBrokerStats

public class WebSocketMessageBrokerStats extends Object
A central class for aggregating information about internal state and counters from key infrastructure components of the setup that comes with @EnableWebSocketMessageBroker for Java config and <websocket:message-broker> for XML.

By default aggregated information is logged every 30 minutes at INFO level. The frequency of logging can be changed via setLoggingPeriod(long).

This class is declared as a Spring bean by the above configuration with the name "webSocketMessageBrokerStats" and can be easily exported to JMX, e.g. with the MBeanExporter.

Since:
4.1
Author:
Rossen Stoyanchev, Sam Brannen
  • Constructor Details

    • WebSocketMessageBrokerStats

      public WebSocketMessageBrokerStats()
  • Method Details

    • setSubProtocolWebSocketHandler

      public void setSubProtocolWebSocketHandler(SubProtocolWebSocketHandler webSocketHandler)
    • setStompBrokerRelay

      public void setStompBrokerRelay(StompBrokerRelayMessageHandler stompBrokerRelay)
    • setInboundChannelExecutor

      public void setInboundChannelExecutor(TaskExecutor inboundChannelExecutor)
    • setOutboundChannelExecutor

      public void setOutboundChannelExecutor(TaskExecutor outboundChannelExecutor)
    • setSockJsTaskScheduler

      public void setSockJsTaskScheduler(TaskScheduler sockJsTaskScheduler)
    • setLoggingPeriod

      public void setLoggingPeriod(long period)
      Set the frequency for logging information at INFO level in milliseconds. If set 0 or less than 0, the logging task is cancelled.

      By default this property is set to 30 minutes (30 * 60 * 1000).

    • getLoggingPeriod

      public long getLoggingPeriod()
      Return the configured logging period frequency in milliseconds.
    • getWebSocketSessionStatsInfo

      public String getWebSocketSessionStatsInfo()
      Get stats about WebSocket sessions.
    • getStompSubProtocolStatsInfo

      public String getStompSubProtocolStatsInfo()
      Get stats about STOMP-related WebSocket message processing.
    • getStompBrokerRelayStatsInfo

      public String getStompBrokerRelayStatsInfo()
      Get stats about STOMP broker relay (when using a full-featured STOMP broker).
    • getClientInboundExecutorStatsInfo

      public String getClientInboundExecutorStatsInfo()
      Get stats about the executor processing incoming messages from WebSocket clients.
    • getClientOutboundExecutorStatsInfo

      public String getClientOutboundExecutorStatsInfo()
      Get stats about the executor processing outgoing messages to WebSocket clients.
    • getSockJsTaskSchedulerStatsInfo

      public String getSockJsTaskSchedulerStatsInfo()
      Get stats about the SockJS task scheduler.
    • toString

      public String toString()
      Overrides:
      toString in class Object