All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mule.execution.MessageProcessPhase Maven / Gradle / Ivy

There is a newer version: 3.9.0
Show newest version
/*
 * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
 * The software in this package is published under the terms of the CPAL v1.0
 * license, a copy of which has been included with this distribution in the
 * LICENSE.txt file.
 */
package org.mule.execution;

/**
 *
 * Defines a phase that process a message using a {@link MessageProcessTemplate}
 *
 * The phase will be part of a chain of responsibility were the phase can define
 * the end of the execution of the set of phases by calling:
 * - {@link PhaseResultNotifier#phaseConsumedMessage()} which indicates that the phase has consume the message
 * and it should not be longer processed
 * - {@link PhaseResultNotifier#phaseFailure(Exception)} which indicates that there was a failure
 * during message processing.
 *
 * Whenever a phase finish execution it must call {@link PhaseResultNotifier#phaseSuccessfully()} which will cause
 * the next phase to be executed.
 *
 * Optionally a {@link MessageProcessPhase} can implement {@link Comparable}
 * to define the order in which it must be positioned in the {@link MessageProcessPhase} chain
 *
 */
public interface MessageProcessPhase