DirectMessageListenerContainer可以和BatchMessageListener一起使用。

问题描述 投票:0回答:1

在当前版本org.springframework.amqp: 2.2.2 BatchMessageListener包含。

@Override
default void onMessage(Message message) {
    throw new UnsupportedOperationException("Should never be called by the container");
}

它是正确的,但是当我在DirectMessageListenerContainer中使用它的时候。

listenerContainer.setMessageListener(new BatchMessageListener() {
    @Override
    public void onMessageBatch(List<Message> messages) {
      ....
    }
}

而我得到了UnsupportedOperationException("永远不应该被容器调用")。

spring rabbitmq spring-amqp
1个回答
0
投票

BatchMessageListener 是不支持的。DirectMessagelistenerContainer 因为监听器是在amqp-client线程上直接调用每个收到的消息。

© www.soinside.com 2019 - 2024. All rights reserved.