Rakesh
Rakesh

Reputation: 167

How to avoid endpoint suspension in wso2 esb when actual end point is down

I am using message store to store the message in case the actual end point is down. My proxy uses vfs transport, i.e it will read the message from the file and deliver to end point. In case the end point is down it will store the message in configured activemq.

My configuration is working fine when i kept single file. While keeping more files(i.e more messages) and end point is down only first few message get stored others are lost.

Even i searched a lot of content most of them suggesting it is due to End point suspension error. I tried to avoid that, but still the same result.

How to solve the issues ???

Upvotes: 4

Views: 2320

Answers (1)

Jenananthan
Jenananthan

Reputation: 1401

if backend endpoint fails,defualt endpoint will be suspended for 30000ms. During suspended time, synapse will not try to send further messages to suspended endpoint.But you can turnoff his behavior by specifying <initialDuration>0</initialDuration> and <maximumDuration>0</maximumDuration>

following is sample endpoint with suspension time 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> 

Upvotes: 1

Related Questions