Чтобы опросить статистику очереди Solace из вашего приложения C #, вы можете использовать устаревший SEMP через шину сообщений, чтобы сделать запрос SEMP для получения требуемой информации.Semp (Solace Element Management Protocol) - это протокол запроса / ответа, который использует схему XML для идентификации всех управляемых объектов, доступных в посреднике сообщений.Приложения могут использовать SEMP для управления и мониторинга посредника сообщений.
Чтобы разрешить использование устаревшего SEMP по шине сообщений, в отличие от интерфейса управления, сначала его необходимо включить в брокере сообщений Solace PubSub + на уровне VPN.
Чтобы опубликовать запрос SEMP с помощью Solace .Net Messaging API, выполните следующие действия:
- Создание сеанса.
Создание темы сообщения,«# SEMP // SHOW»
ITopic topic = ContextFactory.Instance.CreateTopic( “#SEMP/<router name>/SHOW”);
Создайте сообщение запроса и укажите его назначение в теме на шаге 2:
IMessage requestMsg = ContextFactory.Instance.CreateMessage();
requestMsg.Destination = topic;
Установить строку запроса SEMP в качестве двоичного вложения.
string SOLTR_VERSION = "8_4_0" //change to the message-broker's version
string SEMP_SHOW_QUEUE = "<rpc semp-version=\"soltr/" + SOLTR_VERSION +
"<show><queue><name>queueName</name><detail></detail></queue></show></rpc>";
requestMsg.BinaryAttachment = Encoding.UTF8.GetBytes(SEMP_SHOW_QUEUE);
Вызовите метод SendRequest (…) для сеанса.
IMessage replyMsg;
ReturnCode rc = session.SendRequest(requestMsg, out replyMsg, timeout);
Ответ SEMP возвращается в replyMsg.
Получить данные двоичного вложения из ответного сообщения:
replyMsg.BinaryAttachment
В двоичном вложении содержится ответ SEMP для темы команды в запросе на публикацию.
Посредник сообщений Solace PubSub + действительно вызывает событие, когда исходящее сообщение отбрасывается.Тем не менее, он отправляется только приблизительно один раз каждые 60 секунд для указанного клиента, поэтому невозможно получить эти точные скорости.
Приложение .NET может подписаться на события уровня VPN черезсообщение шины.Для этого необходимо сначала включить посредник сообщений Solace PubSub + для публикации событий.Затем вы можете подписаться на специальную тему и получать события в виде сообщений.Тема для подписки:
#LOG/<level>/VPN/<routerName>/<eventName>/<vpnName>
На разных уровнях можно использовать подстановочный знак *.Например, если вы хотите подписаться на все события VPN всех уровней для VPN-яблока на маршрутизаторе QA-NY1, строка темы будет выглядеть следующим образом:
#LOG/*/VPN/QA-NY1/*/apple