Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jms 是否可以在所有已启动的使用者之间重新分发现有消息_Jms_Activemq Artemis - Fatal编程技术网

Jms 是否可以在所有已启动的使用者之间重新分发现有消息

Jms 是否可以在所有已启动的使用者之间重新分发现有消息,jms,activemq-artemis,Jms,Activemq Artemis,我有阿耳特弥斯。生产者生成1000条消息,消费者逐个处理消息。现在我想在两个消费者的帮助下处理这个队列。我启动新消费者,新消息在两个运行的消费者之间分发。我的问题:是否可以在所有已启动的消费者之间重新分发旧消息?一旦代理将消息发送给消费者,那么代理就不能简单地调用它们,因为消费者可能正在处理它们。由使用者取消返回队列的消息(例如,通过关闭其连接/会话) 我的建议是调整您的consumerWindowSize(在客户端的URL上设置),以便向您的消费者发送适当数量的消息。默认的consumerWi

我有阿耳特弥斯。生产者生成1000条消息,消费者逐个处理消息。现在我想在两个消费者的帮助下处理这个队列。我启动新消费者,新消息在两个运行的消费者之间分发。我的问题:是否可以在所有已启动的消费者之间重新分发旧消息?

一旦代理将消息发送给消费者,那么代理就不能简单地调用它们,因为消费者可能正在处理它们。由使用者取消返回队列的消息(例如,通过关闭其连接/会话)


我的建议是调整您的
consumerWindowSize
(在客户端的URL上设置),以便向您的消费者发送适当数量的消息。默认的
consumerWindowSize
为1M(1024*1024字节)。更小的
consumerWindowSize
将意味着更多的客户端将能够同时接收消息,但也意味着客户端将需要进行更多的网络往返,以告知代理在消息不足时发送更多消息。您需要运行基准测试以找到适合您的用例和性能需求的正确的
consumerWindowSize
值。

您所说的“旧消息”是什么意思?您是说已经发送给原始消费者的消息吗?是的。已发送的邮件。