wso2 esb如何增加端点超时

时间:2014-01-20 12:26:01

标签: timeout wso2esb

我有JMS队列消息处理器序列,其中请求被发送到SOAP端点。但是,对此端点的请求可能需要很长时间,最多30分钟左右。如何配置ESB以允许长超时值?目前我在60秒后收到以下错误:

[2014-01-20 14:18:31,772]  WARN - TargetHandler http-outgoing-4: Connection time out while in state: REQUEST_DONE
[2014-01-20 14:18:31,775]  WARN - SynapseCallbackReceiver Synapse received a response for the request with message Id : urn:uuid:c6a023c2-7fb4-4321-b1c2-d78e9bb13add But a callback is not registered (anymore) to process this response

感谢您的帮助

编辑:我在repository / conf / passthru-http.properties中添加了http.socket.timeout = 1800000 -property,这似乎解决了超时问题。

1 个答案:

答案 0 :(得分:1)

假设这是“预定消息转发处理器”,将发送超时增加到30分钟:

  1. 端点中,验证“连接超时”是“从不 超时“(在控制台中编辑端点和”显示高级“ 选项“)
  2. 修改 repository / conf / synapse.properties 并进行修改 synapse.global_timeout_interval (以毫秒为单位):这是最长时间a 回调实例将存在于wso2中以接收响应
  3. 复制样本 axis2 conf文件 从samples / axis2Client / client_repo / conf / axis2.xml到,例如, repository / conf / axis2 / axis2_mp.xml
  4. 编辑此axis2_mp.xml配置,找到 transportSender name =“http”并添加参数“SO_TIMEOUT”(以毫秒为单位):<parameter name="SO_TIMEOUT" locked="false">108000000</parameter>
  5. 编辑您的消息处理器并在显示其他参数中,为存储库/ conf / axis2 / axis2_mp.xml指定条目“ Axis2配置
  6. SO_TIMEOUT是等待响应的时间。 您可以指定CONNECTION_TIMEOUT以建立连接的最长时间。

    注意:所有回调将在ESB中持续长达30分钟!