-
15. Re: Is Fuse ESB able to re-send or re-submit message to an endpoint in an integration route?
davsclaus Apr 25, 2014 1:16 AM (in response to michael.chong)Yes but you need to use the AMQ component in Camel to leverage that, if you need that.
Not every use-case need this, for example you can have a Camel route that does http -> bean, and no need for any JMS messaging.
-
16. Re: Is Fuse ESB able to re-send or re-submit message to an endpoint in an integration route?
michael.chong Apr 25, 2014 2:35 AM (in response to davsclaus)So if the route is http -> bean and I want HA, how do I implement it? e.g. calling the bean fails and I want to recover from that, how do I do it?
-
17. Re: Is Fuse ESB able to re-send or re-submit message to an endpoint in an integration route?
davsclaus Apr 25, 2014 3:22 AM (in response to michael.chong)You can use Camel's error handler, which supports redelivery. So you can configure it to call the bean again etc. For example maximumRedelivers=5, and redeliveryDelay=5000 etc.
But that is in memory only. So if your JVM crashes the message is lost.
Also mind that for HTTP there is a HTTP client that expects a reply message. So the route is InOut and using JMS persistentence for recovery doesn't make as much sense. As if the JVM crashes, and you resume the message, then you cannot send back any replies to the HTTP client.
If you want some kind of HA persistence for the http -> bean, you may want to do a http -> wireTap -> send back OK, so the client gets response asap.
And then the message is on the queue, and you can then process that message with HA.
from http
wireTap jms
setBody OK
from jms
transacted
to bean
But this requires that the reply message to the HTTP client can just be OK, and not any response that the bean may have generated.
Anyway this is just an use-case, there is many use-cases and you need to build how you need it for your use-cases.
-
18. Re: Is Fuse ESB able to re-send or re-submit message to an endpoint in an integration route?
michael.chong Apr 25, 2014 6:10 AM (in response to davsclaus)Thanks! So it seems that HA in Fuse has to be "explicitly designed and implemented in Camel routes with JMS" and not provided by default or OOTB........
-
19. Re: Is Fuse ESB able to re-send or re-submit message to an endpoint in an integration route?
davsclaus Apr 25, 2014 6:16 AM (in response to michael.chong)That has ALWAYS been the case. You pick the Camel components you need.
In old days you had a NMR component too that was HA using AMQ under the covers.
Today you just have AMQ component that is the same and also easier to use than NMR.
Alot of use-cases dont need HA as clients calls a request/response service that needs a response asap, so you need to process the message asap and return the response. That message cannot be resubmitted 5 hours later if a remote service is available. eg it all depends on your use-cases and you design accordingly.