Implementing a dead letter channel (enterprise integration pattern) as a
mediator
---------------------------------------------------------------------------------
Key: ESBJAVA-446
URL: https://wso2.org/jira/browse/ESBJAVA-446
Project: WSO2 ESB
Issue Type: New Feature
Components: Core Engine
Affects Versions: 1.5, NIGHTLY, 1.6
Reporter: Jens Goldhammer
Assignee: Asankha Perera
Priority: Critical
I am working with two Synapse/WSO2 ESB which work as a proxy for two bpel
engines.
bpel 1<->synapse 1<->synapse 2<->bpel 2
If the bpel engine invokes an other process in bpel 2, Synapse 1 is called and
it tries to connect to the other synapse (2).
If the synapse instance 2 is down, I will have the problem that Synapse 1 only
tries one time to send the request. BPEL engine 1 is believing that everything
is ok (long running process), so that I have no chance to retry the request to
the synapse instance 2. As long as ws-rm does not work correctly, what can I do?
It would be really cool to have a dead-letter-channel (see gregor hohpe eip)
where all lost messages will be make persistent with the date of the last try
for sending and to have the ability to resend the message manually from the
admin console. I would prefer a list of messages to see their content, the date
of last try for sending and the value of the to-header. Then you can select
several messages, press the button retry and all selected messages will be send
to the destination. It would be nice to have a mechanism to determine if a
request of a proxy service to another service should be make persistent in the
dead-letter-channel, maybe by specifiying it in the send-mediator! Furthermore
it would be great to notify the admin after a message was inserted in the dead
letter channel by taking the im-mediator...
See following example:
<-- dead letter config-->
<syn:deadletter>
<!-- specify the target of the deadletter channel-->
jms queue??
<!-- specify the mechanism of notitifying-->
<xslt key="im-publish.xslt" target="imMessage"/>
<im to="[EMAIL PROTECTED]" protocol="msn" username="[EMAIL PROTECTED]"
password="instantmessaging">
<message xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/message"
xpathSource="imMessage"/>
</im>
<!-- email-notifier-->
<email-notify/>
</syn:deadletter>
<syn:proxy name="Einsatzinitiierungsprozess" transports="https http"
startOnLoad="true" statistics="enable" trace="enable">
<syn:target>
<syn:inSequence>
<syn:log level="full" separator=","/>
<syn:send dead-letter="true">
<syn:endpoint>
<syn:address
uri="http://localhost:8082/ode/processes/Prozess_Feuerwehreinsatzleitsystem/processes/Einsatzinitiierungsprozess/Process_Layer/Client_Layer">
<syn:enableAddressing/>
</syn:address>
</syn:endpoint>
</syn:send>
</syn:inSequence>
<syn:outSequence>
<syn:log level="full" separator=","/>
<syn:send/>
</syn:outSequence>
</syn:target>
</syn:proxy>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://wso2.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev