首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨ExecutorChannel线程的公共超时

跨ExecutorChannel线程的公共超时
EN

Stack Overflow用户
提问于 2015-08-26 14:18:15
回答 1查看 78关注 0票数 1

我们的应用集成流程被定义为拆分器、->、ws网关、->聚合器。拆分器将请求拆分为帐号列表;因此,对于每个帐号,发起web服务调用,并将来自多个web服务调用的响应聚集在拆分器和ws网关之间的aggregator.The信道中,从而在不同的线程中并行启动每个web服务调用。

我们为每个webservice调用增加了超时。但我们希望为整个过程设置一个单一的超时时间。也就是说,所有的webservice调用都应该在50秒内完成,而不是为每个单独的调用设置50秒超时。commonj WorkManagerTaskExecutor,在直接通过代码实现时,通过waitForAll(Collection workItems,long timeout_ms)方法提供此特性。是否有任何方法可以使用此功能或类似的功能来实现我们的需求。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-26 15:23:10

不幸的是,我们不能使用该特定TaskExecutor的这样一个自定义特性。

另一方面,如果您说“整个过程的单个超时”,我可以帮助您处理<gateway>模式:

代码语言:javascript
复制
<chain>
    <gateway request-channel="splitterChannel" reply-timeout="50000"/>
</chain>

其中reply-timeout是:

指定此网关在返回之前将等待回复消息的时间。默认情况下,它将无限期地等待。如果网关超时,则返回‘'null’。

这对你有意义吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32229207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档