2017-04-20 58 views
2

我对邮件系统有疑问。 有两个Java应用程序 - A和B.不断工作并检查资源。在某些情况下,它需要通知B开始。看起来没有必要在以后扩大这个消息传递:总会有两个组件。在两个Java组件之间发送消息

什么是最优雅的方式来实现它? JMS?弹簧整合莫名其妙? 另有选择?

我的理解是否正确无论如何B需要忙着等待?

+4

有太多的选择在这里提到,我会用一个看起来最简单的实现。 B不必忙于等待,甚至在未激活时甚至不会运行。最简单的选择是将A和B放在同一个进程中,并用一个方法调用另一个调用另一个。 –

+0

如果它需要两个独立的应用程序:您可以触摸A中的文件并在B中使用WatchService或石英作业... – slowy

回答

1

IMO最好使用Apache active mq。它是开源的,支持JMS 1.1和J2EE 1.4。

正如您使用的是两个应用程序。您可以将消息从A添加到活动MQ队列,B将不断检查消息队列。所以一旦B收到一条消息,你可以执行你需要的操作。

+0

要设置和维护至少一个用于发送_a_消息的jms服务器,而它只是一个通知,它没有任何内容,因此不需要事务管理是相当的过度。我永远不会建议使用最复杂的解决方案之一来解决这个简单问题...... – slowy

+0

正如用户所提到的 - 在某些情况下,它需要通知B开始。因为我们不知道何时启动B的条件,当B收到消息时,我们可以检查内容并继续进行所需的操作。 – Kaiizok

相关问题