QueueMessageHandler在下面粘贴的代码中的用途是什么?在下面的示例中,queueMessageHandler似乎没有太大的作用。
@Bean
public SimpleMessageListenerContainer simpleMessageListenerContainer(AmazonSQSAsync amazonSQSAsync) {
SimpleMessageListenerContainer simpleMessageListenerContainer = new SimpleMessageListenerContainer();
simpleMessageListenerContainer.setAmazonSqs(amazonSQSAsync);
simpleMessageListenerContainer.setMessageHandler(queueMessageHandler());
simpleMessageListenerContainer.setMaxNumberOfMessages(10);
simpleMessageListenerContainer.setTaskExecutor(threadPoolTaskExecutor());
return simpleMessageListenerContainer;
}
@Bean
public QueueMessageHandler queueMessageHandler() {
QueueMessageHandlerFactory queueMessageHandlerFactory = new QueueMessageHandlerFactory();
queueMessageHandlerFactory.setAmazonSqs(amazonSQSAsync());
QueueMessageHandler queueMessageHandler = queueMessageHandlerFactory.createQueueMessageHandler();
return queueMessageHandler;
}
答案 0 :(得分:1)
QueueMessageHandler
扩展了AbstractMethodMessageHandler
:
用于基于HandlerMethod的消息处理的抽象基类。提供在启动时发现处理程序方法,在运行时为给定消息找到匹配的处理程序方法并调用它所需的大多数逻辑。
还支持发现和调用异常处理方法来处理在消息处理期间引发的异常。