2. ๏จ Mule ESB provides numerous options for
handling errors. Faults that occur within Mule
are referred to as exceptions; when an
activity in your Mule instance fails, Mule
throws an exception. To manage these
exceptions, Mule allows you to
configureexception strategies.
3. Default exception strategy
๏จ It implicitly applies to all Mule applications โ manages errors
(i.e. thrown exceptions) in Mule flows. When your flows
require more sophisticated error management, you can
implement one or more exception strategies to construct
precise, efficient protocols for handling errors.
๏จ Mule ESBโs default exception strategy implicitly and globally
handles all messaging exceptions that are thrown in Mule
applications. You can override Muleโs default exception
strategy by adding a catch, rollback, or choice exception
strategy to a flow. Otherwise, when an exception is thrown in
a flow, Mule automatically rolls back any pending transaction
and logs the exception; if no transaction is involved, the
default exception strategy simply logs the exception.
4. Error Types :
1. System Exceptions
๏ Mule invokes a System Exception
Strategy when an exception is thrown at
the system-level (i.e., when no message is
involved, exceptions are handled by system
exception strategies). For example, system
exception strategies handle exceptions that
occur:
๏ถ During application start-up
๏ถ When a connection to an external system fails
5. ๏จ Messaging Exceptions : Mule invokes a Messaging
Exception Strategy whenever an exception is thrown
within a flow (i.e., whenever a message is involved,
exceptions are handled by messagingexception
strategies).
๏จ When a message being processed through a Mule
flow throws an exception, normal flow execution stops
and processes transfers to the message processor
sequence within the exception strategy. You can
incorporate any number of message processors โ and
in one case, other exception strategies โ into an
exception strategy to handle the exception precisely
as you wish. The diagram below illustrates what
happens when a message throws an exception.
8. Default Exception Strategy :
๏จ Defined and
implicitly applied by
default to handle all
messaging
exceptions that are
thrown in Mule
applications
๏จ When a message
throws an exception,
the default
exception strategy
rolls back the
message and logs
the exception.
Use : Transaction Error Handling :
9. Catch Exception Strategy :
๏จ When a message
throws an exception,
the default
exception strategy
rolls back the
message and logs
the exception.
๏จ When a message
throws an exception,
the catch exception
strategyalways com
mits the transaction
and consumes the
message.
Use : Transaction Error Handling :
10. Rollback Exception Strategy :
๏จ Define a rollback
exception strategy to
ensure that a
message that throws
an exception in a flow
is rolled back for
reprocessing (if the
message source
supports redelivery).
Rollback exception
strategies do not
consume inbound
๏จ When a message
throws an exception,
the rollback exception
strategy makes one or
more attempts to
rollback the message
and redeliver it for
processing (if the
message source
supports redelivery). If
the message exceeds
its redelivery attempts,
Use : Transaction Error Handling :
11. Reference Exception Strategy :
๏จ Define a reference
exception strategy
to refer and adhere
to the error handling
parameters defined
in a global catch,
rollback or choice
exception strategy.
๏จ When a message
throws an exception,
the reference
exception strategy
refers and adheres to
the error handling
parameters defined in
a global catch,
rollback or choice
exception strategy.
(The reference
exception strategy
itself never actually
Use : Transaction Error Handling :
12. Choice Exception Strategy :
๏จ Define a choice
exception strategy
to customize the
way Mule handles a
message that
throws an exception
based on the
messageโs content
at the moment it
throws the
๏จ When a message
throws an exception,
the choice exception
strategy makes a
decision about
where to route the
message for further
processing. (The
choice exception
strategy itself never
actually performs
Use : Transaction Error Handling :
13. Characteristics of messaging
exception strategies:
๏จ Each flow can contain only one exception
strategy.
๏จ Each exception strategy can contain any
number of message processors.
๏จ Choice exception strategies can contain one
or more catch and/or rollback exception
strategies. (Rollback and catch exception
strategies cannot, however, contain other
exception strategies.)