使用MessageListener
从队列中使用消息之后,立即不会从队列中获取另一条消息。它正在等待,直到我的功能完成,然后队列中又出现另一条消息。如何快速从队列中获取消息而不依赖于我的功能。
答案 0 :(得分:0)
假设onMessage()
实现中的MessageListener
方法正在执行您的所有“功能”,这就是消息消耗比您想要的慢的原因,因为onMessage()
必须在消耗之前完成另一则消息。
有多种方法可以解决此问题(无特定顺序):
DefaultMessageListenerContainer
可以同时使用消息。MessageListener
池。MessageListener
收到一条消息时,请从线程池中获取一个线程,并在该线程中处理该消息,以使MessageListener
可以更快地接收消息。我用这种方法看到的唯一真正的问题是它限制了您确认消息的方式。简而言之,您应该先确认消息 ,然后再将其传递给新线程。