private void invokeNextFaultHandler(MessageContext synCtx) { Stack faultStack = synCtx.getFaultStack(); if (!faultStack.isEmpty()) { Object faultHandler = faultStack.pop(); if (faultHandler instanceof Endpoint) { // This is the parent . need to inform parent with fault child ((Endpoint) faultHandler).onChildEndpointFail(this, synCtx); } else { ((FaultHandler) faultHandler).handleFault(synCtx); } } }
private void invokeNextFaultHandler(MessageContext synCtx) { Stack faultStack = synCtx.getFaultStack(); if (!faultStack.isEmpty()) { Object faultHandler = faultStack.pop(); if (faultHandler instanceof Endpoint) { // This is the parent . need to inform parent with fault child ((Endpoint) faultHandler).onChildEndpointFail(this, synCtx); } else if (faultHandler instanceof MediatorFaultHandler) { if(!executeLastSequenceFaultHandler(synCtx)){ ((FaultHandler) faultHandler).handleFault(synCtx); } } else { ((FaultHandler) faultHandler).handleFault(synCtx); } } else { executeLastSequenceFaultHandler(synCtx); } }