我使用的是Mule 3.5.0版,其配置在xml中指定。
我有几个流程,它们除了调用外部Web服务,添加一些安全性(2-way SSL)和编写一些审核日志外无所不用其事:
<flow name="testFlow" processingStrategy="synchronous">
<servlet:inbound-endpoint path="/TestService/serviceA" responseTimeout="0" />
<object-to-string-transformer />
<component>
<spring-object bean="serviceAContextEnricher"/>
</component>
<component>
<spring-object bean="auditLogger"/>
</component>
<https:outbound-endpoint exchange-pattern="request-response" address="${serviceA.service.url}" contentType="text/xml" method="POST" connector-ref="httpsClientConnector"/>
<component>
<spring-object bean="auditUpdateLogger"/>
</component>
</flow>
现在,我注意到我们有一些外部Web服务调用,这些调用花费的时间超过了10000毫秒(默认超时)。 现在我想知道在哪里指定此超时时间:
第一个选择是我添加一个全局配置参数:
<configuration defaultResponseTimeout="0"/>
如上例所示,我可以将responseTimeout =“ 0”添加到servlet:inbound-endpoint。
或者我可以将responseTimeout =“ 0”添加到https:outbound-endpoint元素。
我想知道必须选择哪种选项(或选项组合)以使应用程序在所有情况下都能正常工作。