我正在拦截通过JBossESB发送的消息.我正在使用管道拦截器这样做.
问题是,尽管发送者是服务(例如PortReference <logical:BlueServiceESB#BlueListener>),但接收者的名称是队列(不是服务).这是合乎逻辑的,因为在某些情况下,多个服务可以从给定队列接收消息,但通常,每个队列仅映射到一个服务.
我想知道哪个队列映射到哪个服务,所以我可以显示/保存这些信息,并显示如消息: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);
Run Code Online (Sandbox Code Playgroud)
我想颠倒这种方法 - 队列是输入和服务(EPR =终点引用=服务)是输出.有什么方法可以做到这一点,或者我只是想在这里做不可能的事情.我没有找到关于这个主题的任何教程或问题.
谢谢你的任何提示!
我需要知道Jboss Fuse和Switchyard之间的区别.Switchyard网站称它将取代Jboss ESB.这就带来了一个问题:FUSE和Switchyard之间有什么区别,两者都可以作为ESB使用
谁能建议哪种监控工具最适合监控JBOSS,特别是ESB队列深度等?
我目前使用Hyperic和自定义插件,开箱即用支持JBOSS ESB吗?
我已经生成了一个 CXF 服务并120000ms = 2min
为两者设置了超时:
requestContext.put("javax.xml.ws.client.receiveTimeout", 120000);
requestContext.put("javax.xml.ws.client.connectionTimeout", 120000);
Run Code Online (Sandbox Code Playgroud)
它工作正常,我已经对其进行了测试20s, 1min, 3min
- 每次它都在等待响应的时间。
但是,当我想将其设置为5min
. 服务仅等待响应~240800ms = ~4min
。
我正在调用 jboss esb 服务。这个持续最大5min
。CXF 服务是.jar
从我的 PC的简单应用程序内部调用的,因此之间没有其他服务器/容器(如 tomcat 等)。
有什么想法可以修复我的超时设置吗?
用一个 Apache CXF 3.0.1
编辑
我现在意识到我收到 2 条不同的消息取决于我的超时设置:
如果我将它设置为<=4min
(通过我的或@pedrofb 方法),那么在这段时间之后我会得到:
org.apache.cxf.interceptor.Fault:无法发送消息。在 org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64) 在 org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) 在 org.apache.cxf.endpoint.endpoint. .doInvoke(ClientImpl.java:516)
引起:java.net.SocketTimeoutException: SocketTimeoutException invoking http://esb:8080/MyService/ebws/Category/MyService : Read timed out
如果我将它设置为>4min
or 0
,我会得到:
javax.xml.ws.soap.SOAPFaultException: 没有收到服务 [Category:MyService] 的响应,被告知不要重试。
老实说,我很困惑什么是预期结果(我认为是第一个)
编辑 2
我已经MyService
通过 …
jboss-esb ×4
java ×2
esb ×1
fuseesb ×1
hyperic ×1
jboss ×1
monitoring ×1
timeout ×1
web-services ×1