As already mentioned, we affected that if our sub-route threw an Barring and didn’t acknowledge any accordant barring handling, the barring would bear aback to the capital avenue and be handled by the main-routes onException(GenericException.class) block:
This isn’t the case. If the aloft avenue throws an exception, it’ll be handled by the sub-route’s absurdity handler. Because we don’t ascertain an absolute absurdity handler, Camel assigns the avenue the DefaultErrorHandler. If the avenue was apparent as transacted(), it would be assigned the TransactionErorrhandler instead (see http://camel.apache.org/error-handler.html for added info).
Because the sub-route doesn’t ascertain any onException() blocks, the DefaultErrorHandler will arrest processing, log the error, and bandy it aback to the aboriginal accession as a CamelExecutionException (i.e. that is, the cipher that alleged the capital route). Note that processing in the capital avenue will not resume:
After authoritative this discovery, we capital to see if there is anyhow we can accomplish Camel bear the Barring aback to the main-route, such that the capital route’s absurdity administration can be acclimated instead. This can be accomplished by removing the erorr administration from the subroute:
At this point we ample we had a band-aid and agitated on developing. Unfortunately, aback we again capital to add specific absurdity administration in the sub-route (e.g. to handle validation exceptions) we begin that our custom onException() analogue was ignored. This is because there was no Absurdity Abettor authentic in the sub-route to accomplish use of the onException definition.
So, it seemed to us the that the easiest way to add custom absurdity administration to our sub-route was to add the DefaultErrorHandler aback in. Unfortunately, this again meant that any Barring not absolutely handled in the sub-route was no best broadcast aback to the capital route — we were aback area we started. We’d acutely beat the abstraction of Exceptions artlessly breeding aback to the capital route, and bare to booty a altered approach.
At this point we begin the above adduce in the Camel Documentation suggesting that Bequest should be acclimated to allotment absurdity handing logic. I’m artlessly adverse to application inheritance, although i’m abiding for 99% of cases it won’t account any architecture issues. My adopted admission is to agent accession of the barring abettor to a accepted Class:
The addGenericExceptionHandler() adjustment can again be alleged from any RouteBuilder’s configure() adjustment to add the absurdity administration log:
This cipher would, of course, accept to be alleged in every sub-routes RouteBuilder.
I see a few advantages over application bequest for administration barring handlers:
All You Need To Know About Jboss Fuse Resume | Jboss Fuse Resume – jboss fuse resume
| Delightful in order to the website, within this period I will teach you regarding jboss fuse resume