2016-02-08 12 views
0

我有两个在同一个应用程序中实现Runnable的java类,让我们假设A和B类。使用Spring的两个Java类之间的通信

这两个类共享一个BlockingQueue来传递一些数据。 A类通过BlockingQueue向B类发送数据。然后B类获取数据并处理它。我想要做的是当由于处理该数据而在类B中发生某些情况时,它向A类发送消息,并且类A打印这些消息。

所以我看了一下使用Apache ActiveMQ的Spring消息传递,但似乎必须启动一个代理以便使用“activemq start”命令进行通信。如果没有这个经纪人开始,有没有可能做到这一点?

这样做的最佳选择是什么?我想用Spring框架来做到这一点,所以可以在Spring中使用某种方法来完成这项工作?或者使用spring的唯一可能性是通过apache activemq?

回答

1

看一看Spring Integration;组件使用Message进行通信。

您可以使用完全内存中的配置或通过某些代理(例如ActiveMQ)提供持久性。

组件本身并不关心它;他们只是发送/接收消息。

0

在春天创建队列并将其注入到两个Runnable中

+0

但使用队列传递消息是阻塞的,而不是异步的。我希望这个类等待消息不被阻塞。 – user1624552

+0

如果它在等待,如何不被阻止? –