You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by Saminda Abeyruwan <sa...@gmail.com> on 2006/02/07 11:50:12 UTC

Improving the way we do references

Title: Improving the way we do references [task2 of M2 todo list]

Current implementation of Synapse,  we could have two types of mediators.
      1.IN-LINE mediators
      2.REFERENCE mediators
In-line mediators have the following syntax

<foo name="fooMediator" parm1="dosomething1" parm2="dosomething2"../>

In-line mediators have always get executed and need NOT to have @name. So
following syntax should have been appropriate for in-line mediators.

<foo parm1="dosomething1" parm2="dosomething2"../>

<never/> tag is used to hold a  set of mediators that is not going to
execute directly. Those mediators have to be referenced by a in-line
mediator. As the <never/> tags holds a list of mediators that can be
referenced, lets replace this  by <define/>.

<define/> has the following syntax

<define name="name_of_define_mediator">
    <mediator1/>
    ...
    ...
    <mediatorN/>
</define>

So any in-line mediator can call the <define/>'s @name to get it execute. So
there can be any number of <define/> tags exists in synapse.xml.

Lookup for the <define/> tag can be done with <ref/> tag and these
references will be stored in our good old SynapseEnvironment.

<define/> tags can be referenced either in IN or OUT path. We need a clear
distinction of IN and OUT.

Please be kind enough to express your consensus on prior.

Thank you

Saminda