我有一个Web服务,它接收输入xml消息,对其进行转换,然后将其转发到另一个Web服务。
该应用程序部署到两个Web逻辑应用程序服务器,以提高性能和弹性。
我想要一个允许两件事的网站监控页面
停止/开始转发消息的能力
能够监控过去一小时内的邮件数量等。进入网络服务等的不同发件人的数量。
我想知道实现这个目标的最佳方法是什么。
我目前的想法是让内存数据库(例如Debry或HSQL)复制数据,以便在应用程序服务器的不同实例中运行的应用程序的两个(或更多)实例之间共享信息。我想我必须设置某种主/从配置。
我希望链接到一篇讨论如何解决这个问题的文章。
(注意,这是一个使用spring MVC的简单spring应用程序)
感谢,
大卫。
答案 0 :(得分:5)
这听起来很适合Java Management Extensions (JMX)
Spring很好地支持将bean暴露为JMX MBean。有关详细信息,请参阅here。
然后您可以使用基于Web的开源JMX控制台,例如jManage
希望这有帮助。
答案 1 :(得分:0)
听起来你正在寻找一个消息队列,一些MDB和一个可配置的设计可以让你做所有这些。如果我没错,Spring支持JMS队列
答案 2 :(得分:0)
我认为您正在寻找一个消息队列。如果您需要额外的监控,使用Web服务作为终点可能还不够 - 关于停止/启动或转发消息;监视对Web服务的http请求比跟踪队列消息更加麻烦(即使你可以这样做)。
如果您将此服务公开给第三方,那么Web服务将位于消息队列的顶部并委托给它。
根据我的经验,RabbitMQ是一个优秀的消息队列服务,具有相对简单的学习曲线。