Почему при использовании jmstemplate изменяется количество сообщаемых очередей activemq? - PullRequest
0 голосов
/ 20 июня 2019

При использовании JmsTemplate для получения списка очередей activemq количество сообщенных очередей изменяется

 private Set<String> queues = new HashSet<>();

     try(ActiveMQConnection connection = (ActiveMQConnection) 
      jmsTemplate.getConnectionFactory().createConnection()){
            connection.start();

            for(ActiveMQQueue queue : connection.getDestinationSource().getQueues()){
                queues.add(queue.getQueueName());
            }

            queues.remove(defaultReplyToQueue);

            log.info("findAllQueues found {}", queues.size());
            return queues;
        }

1 Ответ

0 голосов
/ 20 июня 2019

Трудно дать полный ответ, учитывая ограниченную детализацию, но я думаю, что проблема заключается в том, как очереди заполняются в источнике назначения. Они поступают асинхронно, поскольку посредник перечисляет существующие очереди. Это означает, что простое открытие соединения и немедленный запрос всех очередей, скорее всего, сообщат о случайных результатах, поскольку не все получены от брокера.

...