>From the IRCs and prototypes it seems like people accept that its useful for a Rule to be able to have a list of Mediators instead of being restricted to a single Mediator.

We have a Mediator interface and a RuleEngine interface which represents the RuleSet/Stage:

   public interface RuleEngine {
      public boolean process(SynapseEnvironment sc, SOAPMessageContext smc);
   }

And then there's the phase which defines a list of RuleSets/Stages/RuleEngines

   inPhase order="a b"
   outPhase order="b c"
   
So...aren't we just duplicating lots of stuff and making things complicated? The phase is a rule and the RuleEngine is a Mediator. The inPhase and outPhase are just Rules with the condition being isResponse() or isResponse() == false, and the phase order is the list of Mediators on the Rule.

If you need the extra function the ruleSet/stage gives you couldn't you implement that in a Mediator? (especially when Synapse provides the function to enable a Mediator control the routing path described in that earlier post)

   ...ant

Reply via email to