Можно ли определить разные SimpleMessageListenerContainerFactory @Beans и использовать их для разных @SqsListeners?Поскольку базовое число потоков зависит от того, какой максимальный размер пакета установлен в SimpleMessageListenerContainerFactory, я хотел бы иметь возможность настроить свойство ниже для некоторых @SqsListeners, которые могут прослушивать очередь, которая не получает много сообщений, по сравнению с другими@SqsListeners, которые прослушивают очередь со многими сообщениями и предоставляют больше ресурсов этим слушателям.Например,
@Bean
public SimpleMessageListenerContainerFactory containerFactoryForLargeQueue(final AmazonSQSAsync amazonSqs) {
SimpleMessageListenerContainerFactory factory = new SimpleMessageListenerContainerFactory();
factory.setAmazonSqs(amazonSqs);
factory.setMaxNumberOfMessages(10);
return factory;
}
@Bean
public SimpleMessageListenerContainerFactory containerFactoryForSmallQueue(final AmazonSQSAsync amazonSqs) {
SimpleMessageListenerContainerFactory factory = new SimpleMessageListenerContainerFactory();
factory.setAmazonSqs(amazonSqs);
factory.setMaxNumberOfMessages(5);
return factory;
}
А затем каким-то образом настроить @SqsListener на использование одного или другого в зависимости от объема сообщений, которые он получает из своей очереди.