【发布时间】:2016-08-12 21:07:36
【问题描述】:
Spring 文档说,当您使用 @EnableWebSocketMessageBroker 注解时,会创建一个 WebSocketMessageBrokerStats 类型的 bean。这个 bean 可以通过 Spring 的 MBeanExporter 导出到 JMX 以便在运行时查看,例如通过 JDK 的 jconsole(或 VisualVM)。我不知道如何创建 Mbean。
我发现@EnableMBeanExport相当于使用<context:mbean-export>
在另一个 stackoverflow 链接中,我发现我需要做一些类似于下一个的操作:
@Configuration
@EnableMBeanExport
public class SpringConfiguration {
@Bean
protected CountingHttpInterceptor countingHttpInterceptor() {
return new CountingHttpInterceptor();
}
}
Exporting Spring @Bean objects using JMX
然后我想我需要将一个 bean 声明为下一个:
@Configuration
@EnableMBeanExport
public class SpringConfiguration {
@Bean
protected WebSocketMessageBrokerStats webSocketMessageBrokerStats() {
return new WebSocketMessageBrokerStats();
}
}
但这不起作用。
我发现我也需要在 JVM 中启用 JMX。 我使用 WildFly 9.0 作为 web 应用程序服务器。我需要启用 JMX 到 WebSocketMessageBrokerStats 才能工作?
实际上,我有一个使用 Spring Framework 4.3.2 实现的 STOMP over Websocket。 Websocket WebSocketMessageBrokerStats 在控制台中每 30 分钟向我显示 stats bean 显示信息。
我发现一些使用此对象的代码的唯一地方是 Websocket Chat,但我不明白在示例中如何使用它。
https://github.com/salmar/spring-websocket-chat
谢谢。
【问题讨论】:
标签: spring jmx stomp spring-websocket