gpt4 book ai didi

java - 如何防止消息转到 "Dispatched Queue"

转载 作者:行者123 更新时间:2023-12-01 10:15:28 25 4
gpt4 key购买 nike

我将 ActiveMQ 与 Spring 框架结合使用。

我在 JMS 容器中设置了两个使用者。当我向队列发送4条消息时,部分消息被转移到“Dispatched Queue”,因为消费者处理消息需要很长时间。

我正在尝试找到阻止消息进入“调度队列”的方法。也就是说,我希望任何准备好使用消息的消费者都可以使用它们。

我尝试将 queuePrefetch 设置为 0,但它似乎根本不起作用。

    <bean id="prefetchPolicy" class="org.apache.activemq.ActiveMQPrefetchPolicy">
<property name="queuePrefetch" value="0"/>
</bean>

<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<constructor-arg index="0" value="tcp://localhost:61616" />
<property name="prefetchPolicy" ref="prefetchPolicy"/>
</bean>

以下是我的 JMS 容器的设置:

        <bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory"/>
<property name="destination" ref="defaultDestination" />
<property name="messageListener" ref="messageListener" />
<property name="concurrentConsumers" value="2" />
</bean>

最佳答案

我发现了问题。我在两个不同的地方两次声明了相同的 bean 。加载的第二个 bean 没有将预取设置为 0,因此它不起作用。

我发布的上述设置有效!

谢谢!

关于java - 如何防止消息转到 "Dispatched Queue",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35928089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com