+1, this model seems to be much clear. Thanks, Ruwan
On Sun, Jan 31, 2010 at 9:31 AM, Rajika Kumarasiri <[email protected]> wrote: > hi, > Right now in a failover scenario Synapse will try to re-send the message to > the next available active endpoint ( this depend on the failover algorithm > in use). For example if the 1st endpoint receives a timeout error or a > connection refused error Synapse will try to send the message to the next > available endpoint. There are requirements in which case if we receive a > particular error( for ex: a connection timeout) from the 1st endpoint we > don't want to try the second available endpoint but just drop the message(or > send a fault back). For ex: in a failover scenario we'll need to drop the > message without trying the 2nd endpoint if we receive a connection timeout > error but we'll need to try the next available endpoint if we receive a > connection refused error. Right now Synpase doesn't have this capability. > > So I'd like to suggest the following configuration for leaf > endpoints(Address/WSDL) which only be valid in a failover scenario. The new > configuration element will go same level as timeOut, markForSuspension > elements. > > <failedMessage> > <errorCodes>comma separated list of error codes</errorCode> > <action> discard | fault </action> > </failedMessage> > > erroCodes - Upon receiving this erroCodes the action will be performed. > Possible values can be same as errorCodes in markForSuspension or > suspendOnFailure. > action - The action to perform upon receving one of the errorCodes from the > endpoint. May be we can drop the message or send a fault back. > > Your comments are welcome. > > Rajika > > > > -- Ruwan Linton Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb WSO2 Inc.; http://wso2.org email: [email protected]; cell: +94 77 341 3097 blog: http://ruwansblog.blogspot.com
