synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Fremantle <>
Subject Send on send back and other behaviour
Date Thu, 22 Dec 2005 10:39:50 GMT

I know we are about ready for a release candidate. I would like to propose a
change for after our first release.

(By the way... we cannot "release" anything from Apache while we are an
incubator, so we can only get a M1 RC ready until we pass through

The change I propose I already posted about. The feeling I have is that the
current model of dropping messages unless they are explicitly sent on is
probably a little confusing.

I propose that we change the behaviour as follows:

1) boolean process(SynapseMessage sm) :
 if the response is true, continue processing. If the response is false:
check sm. If sm.getTo==null, then drop, if sm.getTo!=null then send on.

2) So then we could add the following two XML config elements:

  <drop/> -- would set the To address to null and then return false. This
drops the message immediately and ends processing
  <sendNow/> - this ends processing and sends the message on now.
Effectively this simply returns false.

3) This model seems to me simpler for unit test. Rather than having to fake
up a special send() in the Axis2SynapseEnvironment, you can simply call a
processor and check the SM and return values to see if they match what you

4) I also think this would make it easier to embed Synapse in a "co-locate"
model with Axis2, because the implicit send could actually be used to simply
dispatch the message to the right Axis2 service instead of always opening up
new connection.

I think this is a more logical model, but I'd appreciate your thoughts. Both
models are similar, so it just comes down to the simplest for the user. I
think its better that you say <drop> if you want to drop it rather than it
dropping it by default.


Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

"Oxygenating the Web Service Platform",

View raw message