1 /* 2 * $Id: MessagingExceptionHandler.java 22711 2011-08-20 01:50:25Z dfeist $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.api.exception; 12 13 import org.mule.api.MuleEvent; 14 15 /** 16 * Take some action when a messaging exception has occurred (i.e., there was a message in play when the exception occurred). 17 */ 18 public interface MessagingExceptionHandler extends ExceptionHandler 19 { 20 /** 21 * Take some action when a messaging exception has occurred (i.e., there was a message in play when the exception occurred). 22 * 23 * @param exception which occurred 24 * @param event which was being processed when the exception occurred 25 * @param rollbackMethod will be called if transactions are not used in order to achieve atomic message delivery 26 * @return new event to route on to the rest of the flow, generally with ExceptionPayload set on the message 27 */ 28 MuleEvent handleException(Exception exception, MuleEvent event, RollbackSourceCallback rollbackMethod); 29 30 /** 31 * Take some action when a messaging exception has occurred (i.e., there was a message in play when the exception occurred). 32 * 33 * @param exception which occurred 34 * @param event which was being processed when the exception occurred 35 * @return new event to route on to the rest of the flow, generally with ExceptionPayload set on the message 36 */ 37 MuleEvent handleException(Exception exception, MuleEvent event); 38 } 39 40