SlideShare a Scribd company logo
1 of 9
MULE Error Handling Framework
GDS Sashidhar Rao
gdssrao@gmail.com
Exception Handling
Current Exception Handling
Custom Error Management
Synchronous Exception Handling
Notifications Services
Contents
 There are two different types of errors that can occur in Mule
 System Exceptions - This is when no message is involved. Ie; An error on
application startup
 Messaging Exceptions - This is when there is an error within a flow
 Global Exception Handler is a common component used across single / multiple Mule
Applications/Services to process exceptions.
 The primary objective is to provide a uniform exception handling across all available
Native and App Services
 Common Exception Message is a wrapper that defines properties of exception as well as
exception payload. There are three types of exceptions a Global Exception Handler is
expected to handle
 Fatal Exceptions – These are raised when some unexpected issue occurs in the
system that will require the process to be aborted.
 Non Retryable Exceptions – These are raised when some predefined issues occur
in the system that can’t be corrected. This requires the request to be submitted
again. Usually these exceptions occur in synchronous requests.
 Retryable Exceptions – These are raised when some predefined issues occur in the
system that can be automatically or manually corrected. Usually these exceptions
occur in asynchronous requests.
Exception Handling
 ESBs support the detection of errors (Dead Letter Channel) and anomalies
(Invalid Message Channel)
 There is no native Message Store on the way
Current Exception Handling
 The goal here is to tool up strictly with what is necessary for the errors management
strategy.
 Custom error management to reproduce more or less what traditional solutions provide
natively
 Auditing the state (Request, Response, Error) in Log file or DB is preferred
 Retry and Replay suits well with Async Messaging by using JMS/AMQP
 MMC Alerts
Custom Error Management
Synchronous Exception Handling
 The responsibility of identifying type of exception lies with individual service or
application invoking Global Exception Handler
 We need to set HTTP status codes and description to reflect internal error (500) for
REST requests.
 Relevant service/application admin needs to be notified.
 When the request is synchronous, we need to rollback transaction (if any) before
exception message is returned to the caller.
Synchronous Exception Handling
 Notification Service is just an email
service in the current context.
 Notification Service should be
implemented as an independent
application that should be capable of
processing different types of
notifications (email,tweet, sms etc.,).
 It can be extended it in future to
provide additional features to handle
other types of notifications.
 Notification Service should also log
message using “fatal” log level.
Notification Services
THANK YOU!!!

More Related Content

What's hot (10)

Handle exceptions in mule
Handle exceptions in muleHandle exceptions in mule
Handle exceptions in mule
 
Mule exception strategies - Reference Exception Strategy
Mule exception strategies - Reference Exception StrategyMule exception strategies - Reference Exception Strategy
Mule exception strategies - Reference Exception Strategy
 
Mule error handling
Mule error handlingMule error handling
Mule error handling
 
Exception handling basics in mule
Exception handling basics in muleException handling basics in mule
Exception handling basics in mule
 
Mule exceptions Strategy
Mule exceptions StrategyMule exceptions Strategy
Mule exceptions Strategy
 
Exception strategies in MuleSoft Anypoint Studio
Exception strategies in MuleSoft Anypoint StudioException strategies in MuleSoft Anypoint Studio
Exception strategies in MuleSoft Anypoint Studio
 
Mule exception strategies - Choice Exception Strategy
Mule exception strategies - Choice Exception StrategyMule exception strategies - Choice Exception Strategy
Mule exception strategies - Choice Exception Strategy
 
Mule filters
Mule filtersMule filters
Mule filters
 
Mule soft filters_2
Mule soft filters_2Mule soft filters_2
Mule soft filters_2
 
Extend Post
Extend  PostExtend  Post
Extend Post
 

Viewers also liked

Validations module
Validations moduleValidations module
Validations module
Krishna_in
 
Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012
lennartkoopmann
 

Viewers also liked (20)

Mule esb examples
Mule esb examplesMule esb examples
Mule esb examples
 
Mule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling FrameworkMule Common Logging & Error Handling Framework
Mule Common Logging & Error Handling Framework
 
TIBCO intelligent Common Logging and Exception Handling (iCLE)
TIBCO intelligent Common Logging and Exception Handling (iCLE)TIBCO intelligent Common Logging and Exception Handling (iCLE)
TIBCO intelligent Common Logging and Exception Handling (iCLE)
 
Centralized logging
Centralized loggingCentralized logging
Centralized logging
 
Mule components
Mule componentsMule components
Mule components
 
Mule agent architecture
Mule agent architectureMule agent architecture
Mule agent architecture
 
Validations module
Validations moduleValidations module
Validations module
 
Partial Application in Javascript (and why I like it)
Partial Application in Javascript (and why I like it)Partial Application in Javascript (and why I like it)
Partial Application in Javascript (and why I like it)
 
Exception handling in mule
Exception handling in muleException handling in mule
Exception handling in mule
 
Logs: Can’t Hate Them, Won’t Love Them: Brief Log Management Class by Anton C...
Logs: Can’t Hate Them, Won’t Love Them: Brief Log Management Class by Anton C...Logs: Can’t Hate Them, Won’t Love Them: Brief Log Management Class by Anton C...
Logs: Can’t Hate Them, Won’t Love Them: Brief Log Management Class by Anton C...
 
Nagios Conference 2014 - Scott Wilkerson - Log Monitoring and Log Management ...
Nagios Conference 2014 - Scott Wilkerson - Log Monitoring and Log Management ...Nagios Conference 2014 - Scott Wilkerson - Log Monitoring and Log Management ...
Nagios Conference 2014 - Scott Wilkerson - Log Monitoring and Log Management ...
 
Enterprise Logging and Log Management: Hot Topics by Dr. Anton Chuvakin
Enterprise Logging and Log Management: Hot Topics by Dr. Anton ChuvakinEnterprise Logging and Log Management: Hot Topics by Dr. Anton Chuvakin
Enterprise Logging and Log Management: Hot Topics by Dr. Anton Chuvakin
 
Log management principle and usage
Log management principle and usageLog management principle and usage
Log management principle and usage
 
Mule expression component
Mule expression componentMule expression component
Mule expression component
 
Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012Log management with Graylog2 - FrOSCon 2012
Log management with Graylog2 - FrOSCon 2012
 
Message enricher in mule
Message enricher in muleMessage enricher in mule
Message enricher in mule
 
SIEM for Beginners: Everything You Wanted to Know About Log Management but We...
SIEM for Beginners: Everything You Wanted to Know About Log Management but We...SIEM for Beginners: Everything You Wanted to Know About Log Management but We...
SIEM for Beginners: Everything You Wanted to Know About Log Management but We...
 
Mulesoft ppt
Mulesoft pptMulesoft ppt
Mulesoft ppt
 
SIEM - Your Complete IT Security Arsenal
SIEM - Your Complete IT Security ArsenalSIEM - Your Complete IT Security Arsenal
SIEM - Your Complete IT Security Arsenal
 
QRadar, ArcSight and Splunk
QRadar, ArcSight and Splunk QRadar, ArcSight and Splunk
QRadar, ArcSight and Splunk
 

Similar to Error Handling Framework in Mule ESB

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
Omi Om
 
EDD (Error Driven Development)
EDD (Error Driven Development)EDD (Error Driven Development)
EDD (Error Driven Development)
Daniel Andrews
 
Chapter 7-Fault Tolerance.ppt
Chapter 7-Fault Tolerance.pptChapter 7-Fault Tolerance.ppt
Chapter 7-Fault Tolerance.ppt
Habib246314
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
Ehsan Ilahi
 
Autonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing SystemsAutonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing Systems
William Chipman
 
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdfVISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
NALANDACSCCENTRE
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
guest61205606
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
guest61205606
 

Similar to Error Handling Framework in Mule ESB (20)

Availability tactics
Availability tacticsAvailability tactics
Availability tactics
 
Lecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange PatternsLecture 10 - Message Exchange Patterns
Lecture 10 - Message Exchange Patterns
 
Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Ch20
Ch20Ch20
Ch20
 
EDD (Error Driven Development)
EDD (Error Driven Development)EDD (Error Driven Development)
EDD (Error Driven Development)
 
Chapter 7-Fault Tolerance.ppt
Chapter 7-Fault Tolerance.pptChapter 7-Fault Tolerance.ppt
Chapter 7-Fault Tolerance.ppt
 
Real usages of jms message queues
Real usages of jms message queuesReal usages of jms message queues
Real usages of jms message queues
 
Vancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-julyVancouver mulesoft meetup_23-july
Vancouver mulesoft meetup_23-july
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
 
Autonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing SystemsAutonomic Computing and Self Healing Systems
Autonomic Computing and Self Healing Systems
 
Operating System- INTERPROCESS COMMUNICATION.docx
Operating System- INTERPROCESS COMMUNICATION.docxOperating System- INTERPROCESS COMMUNICATION.docx
Operating System- INTERPROCESS COMMUNICATION.docx
 
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdfVISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
 
RabbitMQ in Microservice Architecture.docx
RabbitMQ in Microservice Architecture.docxRabbitMQ in Microservice Architecture.docx
RabbitMQ in Microservice Architecture.docx
 
Lecture 20-21
Lecture 20-21Lecture 20-21
Lecture 20-21
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
fault-tolerance-slide.ppt
fault-tolerance-slide.pptfault-tolerance-slide.ppt
fault-tolerance-slide.ppt
 
Implicit and explicit sequence control with exception handling
Implicit and explicit sequence control with exception handlingImplicit and explicit sequence control with exception handling
Implicit and explicit sequence control with exception handling
 
Aem authentication vs idp
Aem authentication vs idpAem authentication vs idp
Aem authentication vs idp
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Error Handling Framework in Mule ESB

  • 1. MULE Error Handling Framework GDS Sashidhar Rao gdssrao@gmail.com
  • 2. Exception Handling Current Exception Handling Custom Error Management Synchronous Exception Handling Notifications Services Contents
  • 3.  There are two different types of errors that can occur in Mule  System Exceptions - This is when no message is involved. Ie; An error on application startup  Messaging Exceptions - This is when there is an error within a flow  Global Exception Handler is a common component used across single / multiple Mule Applications/Services to process exceptions.  The primary objective is to provide a uniform exception handling across all available Native and App Services  Common Exception Message is a wrapper that defines properties of exception as well as exception payload. There are three types of exceptions a Global Exception Handler is expected to handle  Fatal Exceptions – These are raised when some unexpected issue occurs in the system that will require the process to be aborted.  Non Retryable Exceptions – These are raised when some predefined issues occur in the system that can’t be corrected. This requires the request to be submitted again. Usually these exceptions occur in synchronous requests.  Retryable Exceptions – These are raised when some predefined issues occur in the system that can be automatically or manually corrected. Usually these exceptions occur in asynchronous requests. Exception Handling
  • 4.  ESBs support the detection of errors (Dead Letter Channel) and anomalies (Invalid Message Channel)  There is no native Message Store on the way Current Exception Handling
  • 5.  The goal here is to tool up strictly with what is necessary for the errors management strategy.  Custom error management to reproduce more or less what traditional solutions provide natively  Auditing the state (Request, Response, Error) in Log file or DB is preferred  Retry and Replay suits well with Async Messaging by using JMS/AMQP  MMC Alerts Custom Error Management
  • 7.  The responsibility of identifying type of exception lies with individual service or application invoking Global Exception Handler  We need to set HTTP status codes and description to reflect internal error (500) for REST requests.  Relevant service/application admin needs to be notified.  When the request is synchronous, we need to rollback transaction (if any) before exception message is returned to the caller. Synchronous Exception Handling
  • 8.  Notification Service is just an email service in the current context.  Notification Service should be implemented as an independent application that should be capable of processing different types of notifications (email,tweet, sms etc.,).  It can be extended it in future to provide additional features to handle other types of notifications.  Notification Service should also log message using “fatal” log level. Notification Services