{
@Override
public MuleEvent process(MuleEvent event) throws MuleException
{
muleContext.getNotificationManager().fireNotification(
new PipelineMessageNotification(AbstractPipeline.this, event,
PipelineMessageNotification.PROCESS_START));
MuleEvent result = null;
MessagingException exceptionThrown = null;
try
{
return processNext(event);
}
catch (MessagingException me)
{
exceptionThrown = me;
throw me;
}
finally
{
MuleEvent notificationEvent = result != null ? result : event;
muleContext.getNotificationManager().fireNotification(
new PipelineMessageNotification(AbstractPipeline.this, notificationEvent,
PipelineMessageNotification.PROCESS_COMPLETE, exceptionThrown));
}
}
});
}