wso2 esb 如何增加端点超时 [英] wso2 esb how to increase endpoint timeout
问题描述
我有 JMS 队列消息处理器序列,其中请求被发送到 SOAP 端点.但是,对此端点的请求可能需要很长时间,最多 30 分钟左右.如何配置 ESB 以允许长超时值?目前我在 60 秒后收到以下错误:
I have JMS queue message processor sequence where request is send to SOAP endpoint. However request to this endpoint can take a long time, up to 30 minutes or so. How can I can configure ESB to allow long timeout values ? Currently I'm getting following error after 60 seconds:
[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 这似乎解决了超时问题.
推荐答案
假设这是一个预定消息转发处理器",将发送超时增加到 30 分钟:
Assuming this is a "Scheduled Message Forwarding Processor", to increase the send timeout up to 30 minutes :
- 在您的端点中,确认连接超时"为从不超时"(在控制台中编辑端点并显示高级选项")
- 编辑repository/conf/synapse.properties并修改synapse.global_timeout_interval(以毫秒为单位):这是一个最长时间回调实例将存在于 wso2 中以接收响应
- 复制示例 axis2 conf 文件例如,从 samples/axis2Client/client_repo/conf/axis2.xml 到存储库/conf/axis2/axis2_mp.xml
- 编辑这个axis2_mp.xml 配置,找到transportSender name="http" 并添加一个参数SO_TIMEOUT"(以毫秒为单位):
108000000参数> - 编辑您的消息处理器并在显示附加参数中,将条目Axis2 配置"指定到存储库/conf/axis2/axis2_mp.xml
- In your endpoint, verify that "connection timeout" is "never timeout" (edit the endpoint in the console and "Show Advanced options")
- Edit repository/conf/synapse.properties and modify synapse.global_timeout_interval (in ms) : this is the maximum time a callback instance will exist in wso2 to receive the response
- copy the sample axis2 conf file from samples/axis2Client/client_repo/conf/axis2.xml to, for example, repository/conf/axis2/axis2_mp.xml
- Edit this axis2_mp.xml config, find
transportSender name="http" and add a parameter "SO_TIMEOUT" (in ms) :
<parameter name="SO_TIMEOUT" locked="false">108000000</parameter>
- Edit your Message Processor and in Show Additional Parameters, specify the entry "Axis2 Configuration" to repository/conf/axis2/axis2_mp.xml
SO_TIMEOUT 是等待响应的时间.您可以指定 CONNECTION_TIMEOUT 作为建立连接的最长时间.
SO_TIMEOUT is the time to wait for the response. You can specify CONNECTION_TIMEOUT for the max time to establish the connection.
注意:所有回调将在 ESB 中持续长达 30 分钟!
Pay attention : all callbacks will persist up to 30 minutes in the ESB !
这篇关于wso2 esb 如何增加端点超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!