Stylianos Koussouris [
https://community.jboss.org/people/steljboss] created the
discussion
"Re: Message delivery guarantee in JBoss ESB"
To view the discussion, visit:
https://community.jboss.org/message/738467#738467
--------------------------------------------------------------
In the case you have described JBoss ESB acts as a client to the delivery of a request to
message B & C.
You can use the SOAPClient (sopaui based or wise based) to call synchronously the WS at C.
The call is synchronous and the OOB actions will wait for a reply from your service. The
OOB actions throw exceptions if the application responding on calls to C is not available
which would result in the lifecycle of ESB taking over and returning an error to your
original client A. You can:
a) when the message has failed to be delivered to re-deliver it from your client back to
the ESB (perhaps marking it that it should only go to C this time, again and again until
it succeeds)
b) catch the exception and handle it by calling a service which polls your service C to
see if it is available and then re-deliver the message to it when it is back on (in this
case you are correct you would need to probably extend the SOAPClient or write one from
scratch which does this) and of course have the error handling service use some kind of
persistence so you do not lose the message. One way would be with a durable queue, another
write to db/file and read the message when service C is again available.
I understand that when you compare to big ESB vendors you may not have everything handled
by default out of the suite however we are not talking about some extremely difficult
implementation here. Hope it helps
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/738467#738467]
Start a new discussion in JBoss ESB Development at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]