2017-11-10 338 views
-1

我见过很多关于如何从服务器/生产者发送消息到客户端的代码和示例,但我失去了如何从客户端发送消息到服务器。它是否遵循相同的格式?Java ActiveMQ:如何发送消息从客户端到服务器

例如,假设我的服务器有5个主题:A,B,C,D,E。我的客户端只收听主题C. 所以我的服务器创建一个队列并发送消息给订阅者/客户端。 我的客户端获取主题C上的消息。它执行一些计算,并且我想要将消息发回给发布者(例如int)。什么是必需的步骤?

我是否需要为制作人设定一个目的地/主题进行聆听? 我的制作人是否会自动收听所有客户端(一旦连接)?

回答

0

我想你可能需要阅读一些有关可用的各种通信模型的信息, this on JMS Models

您已经开始使用主题,但您的语句暗示发件人和收件人之间的一对一关系。对于这个队列可能更合适。主题通常用于在发布者不知道(不关心)订阅者的情况下发布信息 - 并且可以有很多。

另一方面,排队旨在传递给特定目标。有了这个,你仍然可以做到“即忘即忘”(发送者将邮件放入队列并且不会等待预期的消费者处理它)

或者您可以添加响应处理 - 主要是通过添加一个“并行”响应队列(其中初始发送者将处理来自消费者的响应消息 - 通常在不同的线程中)。

ActiveMQ和JMS有"reply-to" functionality - 发件人指示发送队列名称的地方,它希望看到回复返回到 - 并且消费者遵守。应答队列可以是固定的,也可以是发件人预先创建的临时应答队列。

这一切都取决于你打算用什么样的模型。

相关问题