【问题标题】:Java ActiveMQ: How to send a message from the client to the serverJava ActiveMQ:如何将消息从客户端发送到服务器
【发布时间】:2017-11-30 19:25:39
【问题描述】:

我已经看过很多关于如何从服务器/生产者向客户端发送消息的代码和示例,但我不知道如何从客户端向服务器发送消息。它遵循相同的格式吗?

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

我需要为制作者设置一个目标/主题来收听吗? 我的制作人是否会自动监听所有客户端(一旦他们连接)?

【问题讨论】:

    标签: java jms activemq


    【解决方案1】:

    我认为您可能需要阅读一下可用的各种通信模型,例如this on JMS Models.

    您已经开始使用主题,但您的陈述暗示了发送者和接收者之间的一对一关系。对于这个队列可能更合适。主题通常用于发布发布者不知道(也不关心)订阅者的信息 - 可能有很多。

    另一方面,队列旨在交付给特定目标。有了这个,您仍然可以执行“即发即弃”(发送方将消息放入队列并且不等待预期的消费者处理它)

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

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

    一切都取决于您要使用的型号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      相关资源
      最近更新 更多