Какова цель QueueMessageHandler - PullRequest
0 голосов
/ 30 апреля 2018

Какова цель 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;
}

1 Ответ

0 голосов
/ 03 октября 2018

QueueMessageHandler расширяется AbstractMethodMessageHandler:

Абстрактный базовый класс для обработки сообщений на основе HandlerMethod. Предоставляет большую часть логики, необходимой для обнаружения методов-обработчиков при запуске, поиска подходящего метода-обработчика для данного сообщения и его вызова.

Также поддерживает обнаружение и вызов методов обработки исключений для обработки исключений, возникших при обработке сообщений.

...