【发布时间】:2013-07-22 07:35:44
【问题描述】:
我正在拦截通过 JBossESB 发送的消息。我正在使用管道拦截器来执行此操作。
问题是,尽管发送方是服务(例如 PortReference
我想知道哪个队列映射到哪个服务,所以我可以显示/保存此信息并使其显示为 message: service ---> 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 数据结构,但您是否可以选择查询所有队列并构建反向查找映射?
-
不幸的是,没有这样的功能允许使用队列名称搜索服务:-(