Подтвердить что ты не робот

JBossESB - очередь для отображения сервисов

Я перехватываю сообщения, отправленные через JBossESB. Для этого я использую перехватчики трубопроводов.

Проблема заключается в том, что вместо отправителя является услуга (например, PortReference < logical: BlueServiceESB # BlueListener > ), имя получателя - это очередь (а не служба). Это логично, поскольку в некоторых случаях несколько служб могут получать сообщения из заданной очереди, но обычно каждая очередь сопоставляется только с одной службой.

Я хотел бы знать, какая очередь сопоставляется с какой службой, поэтому я могу отображать/сохранять эту информацию и отображать ее как message: service --- > service (не сервис --- > queue).

Я знаю, что я могу получить имя очереди, сопоставленной службе, используя реестр, как это:

System.setProperty("javax.xml.registry.ConnectionFactoryClass", "org.apache.ws.scout.registry.ConnectionFactoryImpl");

// Retrieving information from the ESB Registry
Registry reg = RegistryFactory.getRegistry();
System.out.println(reg.findAllServices());
List<EPR> eprs = reg.findEPRs("FirstServiceESB", "SimpleListener");
System.out.println(eprs);

Я хотел бы обратить вспять этот подход - очередь - это вход и обслуживание (EPR = конечная точка = услуга). Есть ли способ, как это сделать, или я просто пытаюсь сделать невозможное здесь. Я не нашел учебников или вопросов по этой теме.

Спасибо за любые советы!

4b9b3361

Ответ 1

Поскольку этот вопрос имеет 25 голосов, это кажется полезной функцией. JBossESB - это программное обеспечение с открытым исходным кодом. Таким образом, реализуйте функцию самостоятельно и передайте ее сообществу! Или просто создайте запрос на изменение, чтобы кто-то еще это сделал...

Ответ 2

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