在不同的线程中处理RabbitMQ消耗的消息

时间:2019-07-04 04:31:31

标签: spring-boot rabbitmq spring-amqp spring-rabbitmq spring-rabbit

我需要了解如何通过Spring SimpleMessageListenerContainer处理消耗的消息(线程流)

我有以下理解

1)通过使用者线程使用的消息。 (您可以通过任务执行程序定义使用者线程池。)

2)接收消息的同一个使用者线程对其进行处理并被阻塞,直到它没有完成处理程序方法的执行。

3)同时创建其他使用者线程以使用其他消息并处理这些消息。创建这些使用者线程的间隔基于setStartConsumerMinInterval设置。

请让我知道我是否正确?

下一部分是

我想在不同线程(用于消费和处理的不同池)中区分消息的消费和消息的处理,我们该怎么做? 我尝试过这种方式,我将处理程序的句柄消息设置为@Async以在不同线程中运行它。是正确的方法还是可用的更好的方法?

最后一部分是

在我的Spring启动应用程序中,我同时发布和使用消息,并且我使用的是单个连接工厂(CachingConnectionFactory)。我应该使用2个连接工厂1进行发布,其他使用吗?并将相应的连接工厂传递给发布和使用Bean?

0 个答案:

没有答案