0

我有几个 Web 应用程序作为 .war 文件部署在 Tomcat 服务器上。每个 Web 应用程序都有一个实现 ServletContextListener 的 ApplicationListener.java 类。在 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 应用程序?我本质上想创建一个仪表板,让我显示ReferenceData.CONSUME_INTERVAL每个 Web 应用程序的当前值(在上面的代码中使用),以及更新它们的值的能力。

这可能吗?我将不胜感激任何设计建议、细节或示例。

谢谢!

4

1 回答 1

0

这是一种配置,对吧?

好吧,您可以在每个应用程序(从属)中创建一个 JMX-Bean,并创建一个代理所有这些 JMX-Bean(主)的新应用程序。这些 JMX-Slaves 将自己注册/注销到 JMX-Master。

现在你得到了一些积分:

  • 在tomcat的Manager-App中实现了用户界面。
  • 实施安全角色。
  • 实现了 JMX-Master-Configuration 的持久性。

(JMX-Master可以在一个类app中解决)

于 2013-01-12T08:50:49.657 回答