0

我是新手ActivemqJava我阅读了教程,有点理解。谁能帮我解决以下任务。

假设我们在 Activemq 的 Queue/Topic 中有 10 条消息。我们正在从数据库中获取消息,我们已经做到了。

我想编写 2 个 Java 应用程序(使用 JMS 接收来自 activemq 的消息),它们将充当 Activemq 中的消费者。我想要实现的是,每当Activemq从数据库中获取消息时,activemq 应该检查是否有任何消费者是免费的。如果任何消费者是免费的,activemq 应该将消息推送给消费者,一旦消费者收到它将进行自己的处理。

那么我的java代码应该如何实现呢?

另外如何设置预取限制?

谁能帮我。

谢谢。

4

1 回答 1

3

好的,很高兴知道 AMQ 代理和数据库之间有生产者,它不断将消息推送到 AMQ。

回答你的问题。可以有多个消费者在任何目的地(队列/主题)上监听。ActiveMQ 代理将消息推送给任何消费者(可以自定义分发)。正如我在上一个问题中回答的那样,AMQ 将使用prefetch limit(比如说 N)在开始等待 get 之前发送这么多消息ack。如果一个消费者很忙,那么它的本地缓冲区中只能有 N 条消息在等待,AMQ 代理会自动选择另一个消费者来推送消息。

于 2013-09-05T11:31:13.283 回答