ActiveMQ | Свойства JMS теряются при настройке мостов - PullRequest
0 голосов
/ 03 июня 2019

В моей конфигурации activemq я хочу, чтобы для каждой очереди был настроен срок действия или время жизни, чтобы я мог гарантировать, что у меня не будет проблем с памятью в моем брокере ActiveMQ.

У меня настроено три различных типа публикации:

  • Прямая публикация в очередь;
  • Публикация в теме, настроенной как VirtualTopic, которая перенаправляет сообщения в очереди;
  • Публикация в VirtualTopic, которая перенаправляет в очередь. Затем эта очередь настраивается в качестве входящей очереди моста JMS, который затем перенаправляется в исходящую очередь.

Я знаю, что время жизни настроено на стороне издателя, и я начал работать над первыми двумя случаями. Хотя в третьем случае я, кажется, теряю это свойство JMS, и у меня нет настроенного срока действия (в исходящей / конечной очереди моста).

Я использую Hawtio, чтобы увидеть, какие свойства присутствуют в конечной очереди, и я подтвердил, что свойство JMSExpiration равно 0, потеряно в пути. В основном путь и состояние объекта выглядит следующим образом:

  1. Виртуальный раздел: настроен срок действия
  2. Входящая очередь моста: имеет настроенный срок действия
  3. Исходящая очередь моста: Не настроен срок действия

Конфигурация моста имеет следующий вид:

<jmsBridgeConnectors>
<jmsQueueConnector outboundQueueConnectionFactory="#localBroker" localQueueConnectionFactory="#localBroker">
    <outboundQueueBridges>

        <outboundQueueBridge
                localQueueName = "CONSUMER.EXAMPLE.INBOUND.QUEUE"
                outboundQueueName = "CONSUMER.EXAMPLE.OUTBOUND.QUEUE"/>

    </outboundQueueBridges>
</jmsQueueConnector>

Вы знаете, нормально ли терять свойства JMS между перенаправлением моста? И если да, как я могу настроить срок действия или время жизни в исходящей очереди?

Спасибо

1 Ответ

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

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

Конфигурация выглядит следующим образом:

<plugins>
     <timeStampingBrokerPlugin zeroExpirationOverride="172800000"/>
</plugins>
...