【发布时间】:2019-10-19 16:26:25
【问题描述】:
Spring AMQP 中的SimpleMessageListenerContainer 和DirectMessageListenerContainer 有什么区别?我检查了他们的两个文档页面,SimpleMessageListenerContainer 几乎没有关于内部工作的解释,DirectMessageListenerContainer 有以下解释:
SimpleMessageListenerContainer 并不是那么简单。最近对 rabbitmq java 客户端的更改促进了一个更简单的侦听器容器,它直接在 rabbit 客户端消费者线程上调用侦听器。没有 txSize 属性 - 每条消息都是单独确认(或确认)的。
我真的不明白这些是什么意思。它说listener container that invokes the listener directly on the rabbit client consumer thread。如果是,那么SimpleMessageListenerContainer 是如何调用的?
我写了一个小应用程序并使用了DirectMessageListenerContainer,只是为了看看区别,我切换到SimpleMessageListenerContainer,但据我所知,RabbitMQ 端没有区别。从 Java 方面来看,区别在于方法(SimpleMessageListenerContainer 提供了更多)和日志(DirectMessageListenerContainer 记录了更多内容)
我想知道每个场景的使用情况。
【问题讨论】:
标签: java rabbitmq spring-amqp spring-rabbit