Есть ли способ получить доступ к системным журналам ActiveMQ Artemis (включен плагином Broker) из. NET клиента - PullRequest
0 голосов
/ 15 января 2020

Я включил журналы доставки сообщений на наших экземплярах Artemis, используя плагины брокера, согласно этой странице. Чтобы нарисовать некоторую аналитику путем сопоставления сквозных сроков доставки и получения сообщений между издателем -> сервером artemis -> подписчиком, я пытаюсь проверить, находится ли содержимое сообщения, которое регистрируется в файле журнала artemis (указать c Идентификатор сообщения) могут быть доступны путем публикации и подписки. NET приложений, которые мы имеем. Ниже приведены журналы из файла artemis.log для сообщения с MessageId, указывающим различные события.

20: 50: 24,552 ИНФОРМАЦИЯ [org. apache .activemq.artemis.core.server.plugin.impl] AMQ841010: перенаправленное сообщение с идентификатором: 2231685496, результат: OK

20: 50: 24,552 INFO [org. apache .activemq.artemis.core.server.plugin.impl] AMQ841009: отправлено сообщение с идентификатором: 2231685496, имя сеанса: 9d9c035b-176e-11ea-ab75-020ff9805db8, сеанс ID_соединения: 68a7ec34, результат: OK

20: 50: 24,553 ИНФОРМАЦИЯ [org. apache .activemq.artemis.core.server.plugin.impl] AMQ841012: доставлено сообщение с идентификатором сообщения: 2231685496 для потребителя по адресу: News.Source.T, очередь: f0586137-5ad3-4c77-b2c7-5b68daad672 c, идентификатор сеанса потребителя: fcbcd194-3295-11ea-a2c0-0a89c5c4c02a, идентификатор потребителя: 0

20: 50: 24,554 ИНФОРМАЦИЯ [org. apache .activemq.artemis.core.server.plugin.impl] AMQ841014: идентификатор подтвержденного сообщения: 2231685496, ID_сайта messageRef: fcbcd194-3295-11ea-a2c0-0a89c5c4c02a, идентификатор получателя сообщенияRefue 0: идентификатор очереди сообщений 0: : f0586137-5ad3-4c77-b2c7-5b68daad672 c, с ackПричина: NORMAL

Мы используем для этого AMQPNetLite и не нашли ничего, что могло бы помочь нам ie отправлять и получать эти сообщения в журналы, которые записываются в файл artemis.log. Я пытался понять, есть ли способ получить MessageId из этих журналов в приложении издателя. Любые указатели на эту топи c очень ценятся.

1 Ответ

0 голосов
/ 15 января 2020

Клиенты обмена сообщениями не могут получить данные из файлов журнала посредника, поскольку эти данные находятся только в текстовом журнале, а не в самом посреднике сообщений. Однако вы можете использовать что-то вроде NotificationActiveMQServerPlugin, которое вместо регистрации этой информации фактически отправит сообщений с этой информацией на адрес уведомления управления . Клиенты могут создавать подписки на адрес уведомления управления и получать сообщения, а затем предпринимать действия на основе этой информации. Уведомления могут содержать не всю необходимую информацию, но вы можете легко расширить этот класс для создания собственного плагина, который включает всю необходимую информацию.

...