Артемида консультативные темы - PullRequest
0 голосов
/ 04 мая 2020

Я ищу рекомендательные сообщения для Артемиды, как будто они существуют в ActiveMQ x.5. Я использую основной протокол, как и основной JMS-клиент.

Что я на самом деле хочу, так это получать уведомления, когда у очереди больше нет потребителей, например, в течение 10 минут.

Я нашел что-то только для клиента JMS Apache ActiveMQ 5.x, чтобы включить / отключить эти темы, но это ничего не меняет в консоли управления. Разве я ничего там не вижу?

Кто-нибудь может объяснить, как это работает здесь?

Ответы [ 2 ]

2 голосов
/ 05 мая 2020

ActiveMQ Artemis поддерживает консультативные адреса и сообщения в стиле ActiveMQ 5.x. Однако, поскольку вы используете основной протокол, он вам не поможет, потому что он доступен только для клиентов OpenWire.

Возможно, вы захотите использовать уведомления управления . Если это так, то вам следует обратить особое внимание на уведомления, чей заголовок _AMQ_NotifType равен 2 (т.е. пользователь создан) и 3 (то есть потребитель закрыт). Оба эти сообщения имеют заголовок с именем _AMQ_RoutingName, который указывает, куда направляются сообщения (т. Е. Адрес, если вы используете JMS topi c, или очередь, если вы используете очередь JMS) и _AMQ_ConsumerCount, который указать, сколько там существует потребителей. Вы можете использовать эти уведомления для отслеживания потребителей, а затем запускать процессы синхронизации для принятия мер по истечении определенных порогов (например, 10 минут без потребителей).

Вы также можете использовать плагин metrics , а затем что-то вроде Prometheus (с помощью плагина Prometheus ) для управления такими предупреждениями.

1 голос
/ 04 мая 2020

Apache ActiveMQ Artemis включает некоторые ActiveMQ Advisory , по умолчанию для протокола OpenWire . Созданные консультативные адреса и очереди будут отображаться на консоли управления вместе с развернутыми пользователями адресами и очередями.

Параметр supportAdvisory можно настроить на OpenWire acceptor для включения / отключения рекомендации, ie:

<acceptor name="artemis">tcp://localhost:61616?protocols=OPENWIRE;supportAdvisory=true</acceptor>

Параметры приемника можно проверить с помощью консоли управления по адресу http://localhost:8161/console/jmx/attributes?tab=artemis&nid=root-org.apache.activemq.artemis-%22<BROKER-NAME>%22-acceptors-<ACCEPTOR-NAME>

...