在当前版本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("永远不应该被容器调用")。
BatchMessageListener
是不支持的。DirectMessagelistenerContainer
因为监听器是在amqp-client线程上直接调用每个收到的消息。