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


 

Reply via email to