120秒后的BPEL超时 - Apache ODE - Tomcat
问题描述:
我是新来的bpel。我做了一个挑选活动的web服务,它工作正常。但是,当我将onAlarm持续时间更改为超过120秒时,出现超时错误!是否有可能更改apache ode的超时时间?任何XML文件,我可以改变最大超时? (onMessage和onAlarm) - > onMessage等待来自异步进程的回调(该进程有一个等待活动5分钟) - >在after之后触发这些机会之一,我只是将一个字符串(“onMessage”或“onAlarm”)分配给输出变量并将其回复给客户端。120秒后的BPEL超时 - Apache ODE - Tomcat
答
我通过将.endpoint文件添加到/ ode/WEB-INF/conf来解决了这个问题。只是这行添加到文件:
# 10 minutes
mex.timeout=600000
欲了解更多信息,请看:http://ode.apache.org/endpoint-configuration.html
答
这听起来像是你是一个双向同步I/O操作调用的过程。这是一个反模式,因为如果您在接收/选择和回复之间有长时间的运行过程,那么这些超时是预期的。增加超时只会延迟问题。在这种情况下的一般建议是切换到具有两个单向消息的异步通信模型,即在响应的回调操作上使用<invoke>
而不是<reply>
。 BPEL的合作伙伴链接有助于将两个接口连接在一起。
嘿谢谢你的回答。对不起,我没有解释我的bpel流程,这有点难以理解。现在我编辑了这个问题。所以我认为,我以正确的方式做到了异步的方式:D。如果不是让我知道。 – Fezi32