How to avoid end suspension in wso2 esb when the actual endpoint is not working

I use a message store to store a message in case the actual endpoint is down. My proxy uses the vfs transport, that is, it will read the message from the file and deliver to the endpoint. In case the endpoint does not work, it will save the message in the configured activemq.

My configuration works fine when I store one file. By saving more files (i.e. more messages), and the endpoint is omitted, only the first few messages get saved, others are lost.

Even I was looking for a lot of content, most of which suggested that this was due to an endpoint suspension error. I tried to avoid this, but still the same result.

How to solve problems ???

+4
source share
1 answer

if the backend endpoint fails, the defualt endpoint will be paused for 30,000 ms. During the paused time, the synapse will not attempt to send further messages to the paused endpoint. But you can disable its behavior by specifying <initialDuration>0</initialDuration>and<maximumDuration>0</maximumDuration>

the next is the end point of the sample with a pause time of 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> 
+1
source

All Articles