鉴于 ActiveMQ 中有50个以上的消费者排队,是否有办法将 以每秒最多1个事件发送给消费者 ?这是为了控制大量的事件调度。
活动制作人不在我的申请范围内。因此,我需要处理来自消费者方面的受控派遣
我有一个配置为低至5的jms预取策略。
我不想在几秒钟内向消费者发送100条消息。相反,我希望它是一个稳定的流程。
如何配置队列使用者以受控流程进行调度?
答案 0 :(得分:2)
据我所知,没有办法扼杀消费者。
您可以做的是使用内置的Camel路由限制流向使用者队列的流量。也许您可以找到一种方法来为您的案例使用此功能?
vm://localhost?create=false
<include resource="camel.xml"/>
将camel.xml中的路由编辑为类似的内容(1msg / 1000ms)
<route>
<description>Throttler 1 msg/s</description>
<from uri="activemq:msgs.in"/>
<throttle timePeriodMillis="1000" asyncDelayed="true">
<constant>1</constant>
<to uri="activemq:msgs.out"/>
</throttle>
</route>