我正在努力寻找适当的设置来延迟RabbitMQ
中工作人员的超时。
默认情况下,prefetchCount
的版本为2.0
,设置为250,并且正好接收和处理此数量的消息。
我想让工作人员忙,直到他们清除整个队列(例如说1万条消息)。
我可以手动操作此数字,例如更改默认限制或分配更多线程,从而导致默认数字成倍增加。
结果始终相同。一旦达到该数目,工作人员将停止工作并完成应用程序的执行
o.s.a.r.l.SimpleMessageListenerContainer : Successfully waited for workers to finish.
我希望他们在队列为空时完成。有什么想法吗?
答案 0 :(得分:1)
logger.info("Successfully waited for workers to finish.");
仅发生在一个地方-doShutdown()
。然后从shutdown()
调用这个,而从destroy()
或stop()
调用。
我以某种方式认为您出于某种原因退出了应用程序。您只是不阻止main()
永久工作。
请分享一个我们可以玩的简单项目。