我正在使用消息存储来存储消息,以防实际终点关闭。我的代理使用vfs传输,即它将从文件中读取消息并传递到端点。如果结束点已关闭,它将在已配置的activemq中存储消息。
当我保存单个文件时,我的配置工作正常。在保留更多文件(即更多消息)和结束点的同时,只有前几条消息被存储,而其他消息则丢失。
即使我搜索了很多内容,但大多数内容都表明这是由于终点悬挂错误造成的。我试图避免这种情况,但结果仍然相同。
如何解决问题???
答案 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>