Class WebSocketMessageBrokerStats
java.lang.Object
org.springframework.web.socket.config.WebSocketMessageBrokerStats
- All Implemented Interfaces:
SmartInitializingSingleton
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, Brian Clozel
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked right at the end of the singleton pre-instantiation phase, with a guarantee that all regular singleton beans have been created already.Get stats about the executor processing incoming messages from WebSocket clients.Get stats about the executor processing outgoing messages to WebSocket clients.long
Return the configured logging period frequency in milliseconds.Get stats about the SockJS task scheduler.Get stats about STOMP broker relay (when using a full-featured STOMP broker).Deprecated, for removal: This API element is subject to removal in a future version.Get stats about STOMP-related WebSocket message processing.Deprecated, for removal: This API element is subject to removal in a future version.as of 6.2 in favor ofgetStompSubProtocolStats()
.Get stats about WebSocket sessions.Deprecated, for removal: This API element is subject to removal in a future version.as of 6.2 in favor ofgetWebSocketSessionStats()
.void
setInboundChannelExecutor
(TaskExecutor inboundChannelExecutor) void
setLoggingPeriod
(long period) Set the frequency for logging information at INFO level in milliseconds.void
setOutboundChannelExecutor
(TaskExecutor outboundChannelExecutor) void
setSockJsTaskScheduler
(TaskScheduler sockJsTaskScheduler) void
setStompBrokerRelay
(StompBrokerRelayMessageHandler stompBrokerRelay) void
setSubProtocolWebSocketHandler
(SubProtocolWebSocketHandler webSocketHandler) toString()
-
Constructor Details
-
WebSocketMessageBrokerStats
public WebSocketMessageBrokerStats()
-
-
Method Details
-
setSubProtocolWebSocketHandler
-
setStompBrokerRelay
-
setInboundChannelExecutor
-
setOutboundChannelExecutor
-
setSockJsTaskScheduler
-
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. -
afterSingletonsInstantiated
public void afterSingletonsInstantiated()Description copied from interface:SmartInitializingSingleton
Invoked right at the end of the singleton pre-instantiation phase, with a guarantee that all regular singleton beans have been created already.ListableBeanFactory.getBeansOfType(java.lang.Class<T>)
calls within this method won't trigger accidental side effects during bootstrap.NOTE: This callback won't be triggered for singleton beans lazily initialized on demand after
BeanFactory
bootstrap, and not for any other bean scope either. Carefully use it for beans with the intended bootstrap semantics only.- Specified by:
afterSingletonsInstantiated
in interfaceSmartInitializingSingleton
-
getWebSocketSessionStatsInfo
Deprecated, for removal: This API element is subject to removal in a future version.as of 6.2 in favor ofgetWebSocketSessionStats()
.Get stats about WebSocket sessions. -
getWebSocketSessionStats
Get stats about WebSocket sessions. Can returnnull
if noWebSocket handler
is configured.- Since:
- 6.2
-
getStompSubProtocolStatsInfo
Deprecated, for removal: This API element is subject to removal in a future version.as of 6.2 in favor ofgetStompSubProtocolStats()
.Get stats about STOMP-related WebSocket message processing. -
getStompSubProtocolStats
Get stats about STOMP-related WebSocket message processing. Can returnnull
if noSubProtocolHandler
was found.- Since:
- 6.2
-
getStompBrokerRelayStatsInfo
Deprecated, for removal: This API element is subject to removal in a future version.as of 6.2 in favor ofgetStompBrokerRelayStats()
.Get stats about STOMP broker relay (when using a full-featured STOMP broker). -
getStompBrokerRelayStats
Get stats about STOMP broker relay (when using a full-featured STOMP broker). Can returnnull
if noSTOMP broker relay
is configured.- Since:
- 6.2
-
getClientInboundExecutorStatsInfo
Get stats about the executor processing incoming messages from WebSocket clients. -
getClientOutboundExecutorStatsInfo
Get stats about the executor processing outgoing messages to WebSocket clients. -
getSockJsTaskSchedulerStatsInfo
Get stats about the SockJS task scheduler. -
toString
-
getStompBrokerRelayStats()
.