On Fri, Jul 13, 2012 at 11:30 PM, Buddhima Wijeweera < [email protected]> wrote:
> Hi all, > > I'm interested in contributing to the Synapse project. As my initial step > I've implemented the Resequencer EAI pattern [0] for Synapse. > > Hi Buddhima, Welcome to Apache Synapse project. :) And Having an Re sequencer support in synapse will be a good contribution. > *Importance of a Resequencer* > As messages passing through Synapse they'll mediate through various paths. > So the order of the receiving messages may differ from sending order. For > some occasions this order matters. For those situations Resequencer is the > solution. > > *Implementation* > My implementation of Resequencer is based on message processor concept. > This processor can be plugged in to any kind of message store already > exists. So processor goes through those messages and sends messages out to > another sequence. So such a system has the flexibility of plugging in to > various situations. Specifying the sequencer number of the message is > configurable. > You can provide mode details about the implementation. ex : how do you determine the sequence of the messages. How do you oder etc.. The reason behind Idea of ordering messages and sending it to a sequence instead of sending it to a Service directly is that gives us more flexibility. ex ; Requirement may be to execute a DB Stored proc from a sequence in a ordered way. And if they way to send it to an endpoint This processor will be able to combined with Message Forwarding Processor to achieve reliable in order delivery between synapse and a service endpoint. > > *Further Details* > For the new implementation I had to change the implementation of > MessageProcessorFactory for giving ability to read parameters with > expressions. > This will be a good improvement for Message Store Factory too. > Then message processor reads the messages in a given store time to time > and send them to another sequence in an order. > > So far I have almost completed my implementation of this according to the > details mentioned and I'm willing to hear your opinions on this. > > *References* > [0] http://www.eaipatterns.com/Resequencer.html > > If you are willing to contribute. You can create Jiras in [1] and provide the patches. I'll be more than happy to review them with you and work with you to get them in to synapse. [1]https://issues.apache.org/jira/browse/SYNAPSE cheers, Charith > Thank you! > -- > Buddhima Wijeweera, > Undergraduate, > Department Of Computer Science and Engineering, > University Of Moratuwa, > Sri Lanka. > > -- Charith Dhanushka Wickramarachchi http://charithwiki.blogspot.com/
