我有几个Web应用程序在Tomcat服务器上部署为.war文件。每个Web应用程序都有一个ApplicationListener.java类,它实现了ServletContextListener。在ApplicationListener.java类中,我使用ScheduledExecutorService来生成一个用于消耗队列消息的线程:
@Override
public void contextInitialized(ServletContextEvent event) {
ReferenceData.init();
scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new ScheduledConsumer(), 0, ReferenceData.CONSUME_INTERVAL, TimeUnit.MILLISECONDS);
}
这是我的问题:是否可以创建一个可以与所有其他人“交谈”的其他Web应用程序?我本质上想要创建一个仪表板,让我可以显示每个Web应用程序的当前ReferenceData.CONSUME_INTERVAL
值(在上面的代码中使用),以及更新其值的能力。
这可能吗?我将不胜感激任何设计建议,细节或示例。
谢谢!
答案 0 :(得分:0)
这是一种配置,对吧?
你可以在你的每个应用程序(slave)中创建一个JMX-Beans,以及一个代理所有这些JMX-Beans(master)的新应用程序。那些JMX-Slaves注册/取消注册到JMX-Master。
现在你得到了一些积分:
(JMX-Master可以在一个类别的app中解决)