[ 
https://issues.apache.org/jira/browse/SYNAPSE-618?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Charith Dhanushka Wickramarachchi updated SYNAPSE-618:
------------------------------------------------------

    Attachment: messagestore_patch_2.diff
                synapse_sample_1.xml

I added the redelivery mechanism as discussed in the mailing list.

current redelivery policies


interval : delay of redelivery (initial delay if exponential backoff is enable)

maximumRedeliveries : maximum number of redeliveries to attempt.

exponentialBackoff : enable /disable 

 if this is enable and backoffMutiplier is not set in default case it will try 
to redeiliver in the pattern:
 
interval : 2*interval : 3*interval : 4*interval

if backoffMutiplier  is set 

then pattern will be 

interval : (backoffMutiplier ^1) * interval : (backoffMutiplier ^2 ) *interval

        
backoffMutiplier :      mentioned above.

I had to introduse a new MessageContext propery while implementing this since i 
had to keep the message redelivery count.

And added a AbstractMessageStore since i feel like it will be useful in my 
future development.  

I'm using Camel Dead Letter channel features  as  reference 
http://camel.apache.org/dead-letter-channel.html 

please review and commit.

> [GSoC] Implement a Dead Letter Channel for Synapse
> --------------------------------------------------
>
>                 Key: SYNAPSE-618
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-618
>             Project: Synapse
>          Issue Type: New Feature
>          Components: Core, Endpoints
>            Reporter: Hiranya Jayathilaka
>            Assignee: Hiranya Jayathilaka
>             Fix For: FUTURE
>
>         Attachments: messagestore_patch_1.diff, messagestore_patch_2.diff, 
> synapse_sample_1.xml, synapse_sample_1.xml
>
>
> Currently when Synapse attempts to send a message and if it fails, following 
> actions can be configured to deal with the error:
> * Execute a fault sequence and handle the failed request gracefully
> * Fail-over to a different endpoint
> In addition to these, Synapse ESB should support the "dead letter channel" 
> enterprise integration pattern to deal with various errors that might occur 
> during mediation or while sending. With the dead letter channel, the failed 
> message will be put into a message store in the ESB. Later the ESB can retry 
> to send the messages in the message store. 
> We should be able to have multiple implementations of the actual message 
> store and should be able to configure which store to use for a particular 
> scenario. Users should be able to implement their own message stores and plug 
> into the ESB easily. To start with we can have a simple in-memory message 
> store and a persisting store based on JDBC or JMS. 
> References:
> http://www.eaipatterns.com/DeadLetterChannel.html
> https://issues.apache.org/jira/browse/SYNAPSE-263
> Possible Mentors:
> Hiranya Jayathilaka

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to