tutorial source open español java jboss-esb

java - source - JBossESB-mapeo de cola a servicio



jboss fuse tutorial español (2)

Como esta pregunta tiene 25 votos, esta parece ser una característica útil. JBossESB es un software de código abierto. Por lo tanto, ¡implementa la característica tú mismo y confíala a la comunidad! O simplemente cree una solicitud de cambio saltando para que otra persona lo haga ...

Estoy interceptando mensajes que son enviados a través de JBossESB. Estoy usando interceptores de tubería para hacerlo.

El problema es que si bien el remitente es un servicio (por ejemplo, PortReference <lógico: BlueServiceESB # BlueListener> ), el nombre del receptor es una cola (no un servicio). Eso es lógico porque, en algunos casos, varios servicios pueden recibir mensajes de una cola determinada, pero generalmente, cada cola se asigna a un solo servicio.

Me gustaría saber qué cola está asignada a qué servicio, así puedo mostrar / guardar esta información y mostrarla como un mensaje: servicio ---> servicio (no servicio ---> cola).

Sé que puedo obtener el nombre de la cola asignada a un servicio utilizando el registro como este:

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);

Me gustaría revertir este enfoque: la cola es la entrada y el servicio (EPR = referencia de punto final = servicio) es la salida. ¿Hay alguna manera de hacer esto o estoy tratando de hacer lo imposible aquí? No he encontrado tutoriales o preguntas sobre este tema en absoluto.

Gracias por cualquier consejo!


Intente consultar todas las colas y cree un mapa de búsqueda inversa. Pero no creo que haya ninguna función que permita buscar servicios usando una cola.