当实际终点关闭时,如何避免wso2 esb中的端点暂停

时间:2015-03-30 10:17:43

标签: wso2 wso2esb

我正在使用消息存储来存储消息,以防实际终点关闭。我的代理使用vfs传输,即它将从文件中读取消息并传递到端点。如果结束点已关闭,它将在已配置的activemq中存储消息。

当我保存单个文件时,我的配置工作正常。在保留更多文件(即更多消息)和结束点的同时,只有前几条消息被存储,而其他消息则丢失。

即使我搜索了很多内容,但大多数内容都表明这是由于终点悬挂错误造成的。我试图避免这种情况,但结果仍然相同。

如何解决问题???

1 个答案:

答案 0 :(得分:1)

如果后端端点失败,则defualt端点将暂停30000ms。在暂停时间内,synapse不会尝试向暂停端点发送更多消息。但您可以通过指定来关闭其行为 <initialDuration>0</initialDuration><maximumDuration>0</maximumDuration>

以下是具有暂停时间0的样本终点

<endpoint name="Endpoint">
       <address uri="http://localhost:9000/services/SimpleStockQuoteService">
           <timeout>
               <duration>30000</duration>
               <responseAction>fault</responseAction>
           </timeout>
           <suspendOnFailure>
               <errorCodes>-1</errorCodes>
               <initialDuration>0</initialDuration>
               <progressionFactor>1.0</progressionFactor>
               <maximumDuration>0</maximumDuration>
           </suspendOnFailure>
           <markForSuspension>
               <errorCodes>-1</errorCodes>
           </markForSuspension>
       </address>
   </endpoint>