【发布时间】:2013-01-11 19:54:48
【问题描述】:
我有几个 Web 应用程序在 Tomcat 服务器上部署为 .war 文件。每个 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 应用程序?我基本上想创建一个仪表板,让我显示每个 Web 应用程序的当前 ReferenceData.CONSUME_INTERVAL 值(在上面的代码中使用),以及更新它们的值的能力。
这可能吗?如果有任何设计建议、细节或示例,我将不胜感激。
谢谢!
【问题讨论】:
-
是的,您可以集成您的所有应用程序,使用外部位置来存储消息以在它们之间交换。说到这里,你可以使用 JSM 或数据库表。
-
所有应用程序当前都在使用来自 AMQP 服务器上不同队列的消息。 ReferenceData.init();调用将从属性文件加载 CONSUME_INTERVAL 并通过 ReferenceData.java 提供静态访问。所以我希望从一个地方访问每个应用程序的 ReferenceData 类。您是否建议从共享数据库而不是从单个属性文件加载属性?
-
是的,在这种情况下,最好将所有这些数据都保存在数据库中,注意这是一种可能的解决方案,您最好评估一下它是否最适合您的需求.
标签: java jsp tomcat web-applications