Tomcat Web应用程序与其他外部部署的tomcat Web应用程序进行通信

时间:2013-01-11 19:54:49

标签: java jsp tomcat web-applications

我有几个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值(在上面的代码中使用),以及更新其值的能力。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一种配置,对吧?

你可以在你的每个应用程序(slave)中创建一个JMX-Beans,以及一个代理所有这些JMX-Beans(master)的新应用程序。那些JMX-Slaves注册/取消注册到JMX-Master。

现在你得到了一些积分:

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

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