[
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]