JBossESB経由で送信されるメッセージをインターセプトしています。私はそうするためにパイプラインインターセプタを使用しています。JBossESB - キューからサービスへのマッピング
問題は、送信者altoughサービス(論理例えばPortReference <:BlueServiceESB#BlueListener>)であること、である、受信機の名前は、キュー(ないサービス)です。場合によっては、複数のサービスが特定のキューからメッセージを受け取ることができるため論理的ですが、通常、各キューは1つのサービスにのみマッピングされます。
どのキューがどのサービスにマップされているかを知りたいので、この情報を表示/保存してメッセージ:service ---> service(サービスではない>キュー)のように表示できます。
私はこのようにレジストリを使用してサービスにマッピングされたキューの名前を得ることができることを知っている:
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 =終わりですポイント参照=サービス)は出力です。これを行う方法はありますか、ここでは不可能にしようとしていますか?このトピックに関するチュートリアルや質問は何も見つかりませんでした。
ありがとうございました!
私はJBoss ESB EPRデータ構造に精通していませんが、すべてのキューを照会し、逆引き参照マップを構築することはオプションになりますあなたのために? – Alex
残念ながら、キュー名を使用してサービスを検索できるような機能はありません:-( – Smajl