For BE/B.Tech/BCA/MCA/ME/M.Tech Major/Minor Project for CS/IT branch at minimum price Text Message @ 9424820157

Exception Filter in Mule

  Exception Filter in Mule





The Exception Filter enables you to filter messages according to the type of an exception.

Prerequisites: You need a Catch Exception Strategy configured in your flow.

Minimum Configuration: The class that indicates the type of the exception.

An Exception Filter matches the type of exception you configure in the Expected Type field in the Global Element properties in Studio, or in the expectedType property in the Configuration XML.

The Exception Filter expects an exception; this means that you need to add it within a Catch Exception Strategy processor. The exception is passed to the next processor in the exception handler only if it matches the Exception Filter’s configured expectedType.

Use the Exception Filter to check whether your Catch Exception Strategy needs to handle an exception or not, based on the type of the exception. When the Exception Filter receives an exception that does not match its configured expectedType, it returns a null value, and the processing of that message stops.

Exception filter is used to filter an exception scenario.for example if payload is null then Null Pointer Exception will be raised.So to filter out these type of situation exception filter is used.


flow of exception filter :




In Error handling block we have used Catch exception Strategy and a filter reference is placed inside it.
When you go to filter reference go to + sign and choose exception filter.



When you choose exception filter from above list it will ask for Expected Type. Give the name of exception class like java.lang.RuntimeException or any suitable exception class.

In our example we are counting length of payload, so if it is null then Null Pointer exception will occur and control will not move forward because exception filter will not allow to move it forward.

URL : http://localhost:8085/api/expfilter

Input :


if payload is null



Output :

then status code will be 200 and output will be blank as control stops due to exception.



XML project code :


<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:dw="http://www.mulesoft.org/schema/mule/ee/dw" xmlns:metadata="http://www.mulesoft.org/schema/mule/metadata" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ee/dw http://www.mulesoft.org/schema/mule/ee/dw/current/dw.xsd
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8085" basePath="/api" doc:name="HTTP Listener Configuration"/>
    <exception-type-filter expectedType="java.lang.RuntimeException" name="Exception" doc:name="Exception"/>
 
    <flow name="test_exceptionfilterFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/expfilter" doc:name="HTTP"/>
        <dw:transform-message doc:name="Transform Message" metadata:id="60dce916-b336-412e-9783-3cadb0b81780">
            <dw:input-payload mimeType="application/java"/>
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload]]></dw:set-payload>
        </dw:transform-message>
        <logger message="#[payload]" level="INFO" doc:name="Logger"/>
        <choice doc:name="Choice">
            <when expression="#[payload==null]">
                <set-payload value="#[payload.toString().length()]" doc:name="Set Payload"/>
            </when>
            <otherwise>
                <set-payload value="#[payload]" doc:name="Set Payload"/>
            </otherwise>
        </choice>
        <catch-exception-strategy doc:name="Catch Exception Strategy">
            <filter ref="Exception" doc:name="Filter Reference"/>
        </catch-exception-strategy>
    </flow>
</mule>





No comments:

Post a Comment



Please go through below tutorials:


Mule 4 Tutorials

DEPLOY TO CLOUDHUB C4E CLIENT ID ENFORCEMENT CUSTOM POLICY RABBIT MQ INTEGRATION
XML TO JSON WEBSERVICE CONSUMER VM CONNECTOR VALIDATION UNTIL SUCCESSFUL
SUB FLOW SET & REMOVE VARIABLE TRANSACTION ID SCATTER GATHER ROUND ROBIN
CONSUME REST WEBSERVICE CRUD OPERATIONS PARSE TEMPLATE OBJECT TO JSON LOAD STATIC RESOURCE
JSON TO XML INVOKE IDEMPOTENT FILTER FOR EACH FLAT TO JSON
FIXWIDTH TO JSON FIRST SUCCESSFUL FILE OPERATIONS EXECUTE ERROR HANDLING
EMAIL FUNCTIONALITY DYNAMIC EVALUATE CUSTOM BUSINESS EVENT CSV TO JSON COPYBOOK TO JSON
CHOICE ASYNC

Widely used Connectors in Mule 3

CMIS JETTY VM CONNECTOR SALESFORCE POP3
JMS TCP/IP WEBSERVICE CONSUMER QUARTZ MONGO DB
FILE CONNECTOR DATABASE CONNECTOR


Widely used Scopes in Mule 3

SUB FLOW REQUEST REPLY PROCESSOR CHAIN FOR EACH CACHE
ASYNC TCP/IP COMPOSITE SOURCE POLL UNTIL SUCCESSFUL
TRANSACTIONAL FLOW

Widely used Components in Mule 3

EXPRESSION CXF SCRIPT RUBY PYTHON
JAVASCRIPT JAVA INVOKE CUSTOM BUSINESS EVENT GROOVY
ECHO LOGGER


Widely used Transformers in Mule 3

MONGO DB XSLT TRANSFORMER REFERENCE SCRIPT RUBY
PYTHON MESSAGE PROPERTIES JAVA TRANSFORMER GZIP COMPRESS/UNCOMPRESS GROOVY
EXPRESSION DOM TO XML STRING VALIDATION COMBINE COLLECTIONS BYTE ARRAY TO STRING
ATTACHMENT TRANSFORMER FILE TO STRING XML TO DOM APPEND STRING JAVASCRIPT
JSON TO JAVA COPYBOOK TO JSON MAP TO JSON JSON TO XML FLATFILE TO JSON
FIXWIDTH TO JSON CSV TO JSON


Widely used Filters in Mule 3

WILDCARD SCHEMA VALIDATION REGEX PAYLOAD OR
NOT MESSAGE PROPERTY MESSAGE IDEMPOTENT FILTER REFERNCE
EXPRESSION EXCEPTION CUSTOM AND


Exception Strategy in Mule 3

REFERENCE EXCEPTION STRATEGY CUSTOM EXCEPTION STRATEGY CHOICE EXCEPTION STRATEGY CATCH EXCEPTION STRATEGY GLOBAL EXCEPTION STRATEGY


Flow Control in Mule 3

CHOICE COLLECTION AGGREGATOR COLLECTION SPLITTER CUSTOM AGGREGATOR FIRST SUCCESSFUL
MESSAGE CHUNK AGGREGATOR MESSAGE CHUNK SPLITTER RESEQUENCER ROUND ROBIN SOAP ROUTER