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

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

Проблема заключается в том, что хотя отправитель является службой (например, PortReference ), имя получателя является очередью (а не службой). Это логично, поскольку в некоторых случаях несколько служб могут получать сообщения из данной очереди, но обычно каждая очередь сопоставляется только одной службе.

Я хотел бы знать, какая очередь сопоставлена ​​с какой службой, чтобы я мог отображать / сохранять эту информацию и отображать ее в виде сообщения: service ---> service (not 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 = ссылка на конечную точку = сервис) является выходом. Есть ли способ, как это сделать, или я просто пытаюсь сделать невозможное здесь. Я не нашел никаких уроков или вопросов по этой теме.

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

2 ответа

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

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

Другие вопросы по тегам