此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

监测

当您使用@EnableWebSocketMessageBroker<websocket:message-broker>钥匙 基础结构组件会自动收集统计信息和计数器,这些统计信息和计数器提供 对应用程序内部状态的重要见解。配置 还声明了类型为WebSocketMessageBrokerStats汇集了所有 可用信息集中在一个地方,默认情况下将其记录在INFO关卡一次 每 30 分钟一次。这个 bean 可以通过 Spring 的MBeanExporter用于在运行时查看(例如,通过 JDK 的jconsole). 以下列表汇总了可用信息:spring-doc.cadn.net.cn

客户端WebSocket会话
当前

指示有多少个客户端会话 目前,计数按 WebSocket 与 HTTP 进一步细分 流式传输和轮询 SockJS 会话。spring-doc.cadn.net.cn

指示已建立的会话总数。spring-doc.cadn.net.cn

异常关闭
连接失败

已建立但 在 60 秒内未收到任何消息后关闭。这是 通常表示代理或网络问题。spring-doc.cadn.net.cn

超出发送限制

超过配置的发送后关闭的会话 超时或发送缓冲区限制,这可能发生在慢速客户端上 (见上一节)。spring-doc.cadn.net.cn

传输错误

传输错误后关闭的会话,例如 无法读取或写入 WebSocket 连接,或 HTTP 请求或响应。spring-doc.cadn.net.cn

STOMP 框架

CONNECT、CONNECTED 和 DISCONNECT 帧的总数 已处理,指示在 STOMP 级别连接的客户端数。请注意 当会话异常关闭或 客户端关闭而不发送 DISCONNECT 帧。spring-doc.cadn.net.cn

STOMP 代理中继
TCP 连接

指示代表客户端的 TCP 连接数 WebSocket 会话将建立到代理。这应该等于 客户端 WebSocket 会话数 + 1 个额外的共享“系统”连接 用于从应用程序内部发送消息。spring-doc.cadn.net.cn

STOMP 框架

CONNECT、CONNECTED 和 DISCONNECT 帧的总数 代表客户转发给经纪人或从经纪人那里收到。请注意,一个 DISCONNECT 帧被发送到代理,而不管客户端 WebSocket 如何 会议已关闭。因此,较低的 DISCONNECT 帧数是一个指示 代理正在主动关闭连接(可能是因为 检测信号未及时到达、输入帧无效或其他问题)。spring-doc.cadn.net.cn

客户端入站通道

来自支持clientInboundChannel提供对传入消息处理运行状况的洞察。任务排队 此处表明应用程序可能太慢而无法处理消息。 如果存在 I/O 绑定任务(例如,慢速数据库查询、对第三方的 HTTP 请求 REST API 等),请考虑增加线程池大小。spring-doc.cadn.net.cn

客户端出站通道

来自支持clientOutboundChannel这提供了对向客户端广播消息的运行状况的洞察。任务 此处排队表明客户端使用消息的速度太慢。 解决此问题的一种方法是增加线程池大小以适应 并发慢速客户端的预期数量。另一种选择是减少 发送超时和发送缓冲区大小限制(请参阅上一节)。spring-doc.cadn.net.cn

SockJS 任务计划程序

来自 SockJS 任务调度程序的线程池的统计信息 用于发送心跳。请注意,当在 STOMP 级别时,SockJS 检测信号被禁用。spring-doc.cadn.net.cn