Мое приложение имеет несколько очередей (имена очередей будут взяты из базы данных), и каждая из них будет ежедневно потреблять огромные данные.
Для этой цели мне нужно создать один контейнер и прослушиватель сообщений для каждой очереди, чтобы для каждой очереди был отдельный поток. В дополнение к этому, могут быть некоторые очереди, создаваемые динамически, и мне нужно, чтобы контейнер был назначен для вновь созданных очередей
Мой потребительский класс начинается, как показано ниже
// Ниже показано, с чего начинается мой класс
@Component
public class RequestConsumer implements MessageListener {```
//and below is the code by which I am creating Message listner
@Bean
@Scope(value = "prototype")
public SimpleMessageListenerContainer simpleMessageListenerNotification(
ConnectionFactory connectionFactory) {
SimpleMessageListenerContainer simpleMessageListenerContainer =
new SimpleMessageListenerContainer(connectionFactory);
RabbitAdmin rabbitAdmin = getRabbitAdmin(connectionFactory);
RequestConsumer RequestConsumer = (RequestConsumer) beanFactory.getBean("requestConsumer");
simpleMessageListenerContainer.setupMessageListener(RequestConsumer);
simpleMessageListenerContainer.setAutoDeclare(true);
for (String queueName : requestConsumerQueueList()) {
Queue queue = new Queue(queueName);
rabbitAdmin.declareQueue(queue);
simpleMessageListenerContainer.addQueues(queue);
}
simpleMessageListenerContainer.start();
return simpleMessageListenerContainer;
}
Мой текущий код создает только один контейнер с одним messageListner для всех очередей, в то время как я ожидаю отдельный контейнер для каждой очереди.