WSO2 ESB阻塞呼叫超时

时间:2016-06-28 14:09:48

标签: wso2esb

我使用阻止调用将WSO2 ESB 4.9.0用于后端服务调用。由于jms事务,我必须使用阻塞调用。有时ESB和后端服务之间的网络很慢,所以我想在连接上使用超时,但是在端点上阻塞呼叫超时并不起作用。使用非阻塞调用超时工作正常。

是否可以在阻止呼叫时使用超时?

感谢您的任何提示。

2 个答案:

答案 0 :(得分:1)

由于端点超时无法阻止呼叫,您可以尝试以下两种方法:

1)在synapse.properties(ESB_HOME \ repository \ conf)文件中定义的全局超时。 这将决定回调在ESB中等待特定请求响应的最长时间。

如果ESB没有从后端获得任何响应,它将丢弃该消息并清除回叫。这是一个全局级别参数,它会影响ESB中配置的所有端点。

synapse.global_timeout_interval=120000

2)在passthru-http.properties(ESB_HOME \ repository \ conf)文件中定义套接字超时。

此参数将决定特定http请求等待响应的超时。如果ESB在此期间没有收到来自后端的任何响应,则HTTP连接会超时并最终在ESB端抛出超时错误,并且将触发故障处理程序。

http.socket.timeout=60000

答案 1 :(得分:0)

我们可以通过为相关的TransportSender [1]定义 SO_TIMEOUT 参数,在/ repository / conf / axis2 / axis2_blocking_client.xml 定义阻止超时。

[1] - https://medium.com/@dilsimchandrasena/set-timeout-for-endpoints-when-call-mediator-blocking-true-fd2744b2cc19