Hi Charith,

The implementation seems to be pretty straight forward by reading your
explanation. To start with inMemory message store will work, but for any
useful scenario DLC should be persistable, meaning that the message store
has to support persistence.

When it comes to implementation, it is good if we can use a hybrid message
store where it first keep messages in-memory and then persists to some
persistence mechanism.

Being said all that, I see a lot of similarities in the failover endpoint
and this approach, and moving forward, you will need to implement the
exponential back-off for retrying and so forth. I wonder whether we can
re-use the failover endpoint to achieve this. I didn't think through this,
but it seems it is possible to associate the DLC with failover endpoint and
leverage the retry functionality from the failover endpoint.

Thanks,
Ruwan

On Sat, May 15, 2010 at 10:18 PM, Charith Wickramarachchi <
charith.dhanus...@gmail.com> wrote:

> Hi devs,
>
> After looking in to the code of i was able to implement a POC of InMemory
> Message store for the Synapse with a simple redelevery processor.
>
> I'll explain the current implementation.
>
> Message Store is a top level element. And It has a associated redelivery
> processor .
> I'm assuming there can be Multiple implementations of Message stores so i m
> having an abstraction of Message Store.
>
> My current implementation is a InMemory One. and its associated with
> failures of endpoints.
> End point can point to a message store ,so on Fault the Messages will get
> stored with the endpoint details.
>
> Redelivery processor will unstore the Messages from the Message store and
> try to redeliver it with original
> endpoint (current re delevery policy is a simple re try interval).
>
> Since in accual industry senarios due to the Message load is high inMemory
> message store can cause high memory
> usage that can cause system to become unstable. So i'm thinking of limiting
> the numbers of Messages for the InMemory Store.
>
> WDYT ? i m happy to hear better solutions for the Memory issue that i
> explaied above.
>
> In a persisting Message store i'll have to remove un nessory memory
> refferences like SynapseEnvinment , Axis2Context.(in case of serialsing the
> Message)
> But in Inmemory case it doest seems like removing them will add much of an
> advantage since thay just are references.
>
> GSoC2010 coding officialy starts on 24th of May i'll try to  provide my 1st
> patch before that.
>
> i m attching the sample synapse configuration that i'm using to test my
> implementaion
>
> thanks,
> /Charith
> --
> Charith Dhanushka Wickramarachchi
> http://charithwiki.blogspot.com/
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org
> For additional commands, e-mail: dev-h...@synapse.apache.org
>



-- 
Ruwan Linton
Software Architect & Product Manager, WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org

Lean . Enterprise . Middleware

phone: +1 408 754 7388 ext 51789
email: ru...@wso2.com; cell: +94 77 341 3097
blog: http://blog.ruwan.org
linkedin: http://www.linkedin.com/in/ruwanlinton
google: http://www.google.com/profiles/ruwan.linton
tweet: http://twitter.com/ruwanlinton

Reply via email to