Message Filter in Mule




Message Filter in Mule


A message filter is used by a message processor to determine whether to handle incoming events or messages. A Message Filter may also include nested filters. Nested filters let you apply more complex logic to the filter. See Logic Filter for more details about nesting filters.

This filter determines whether or not a message processor should process an incoming event or message. You can use the On Unaccepted property to optionally specify a flow or subflow to handle any unaccepted events. Check the Throw On Unaccepted box to throw an exception if a message or event is not handled. The default when not checked is to not throw an exception.

In message filter, there is a list of nested filters. we have to choose out of them. I have chosen wildcard filter.

flow of message filter :



Message filter configuration : 



URL : http://localhost:8085/api/message

Input :


Output :




XML project code :


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

<mule 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.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
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:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8085" basePath="/api" doc:name="HTTP Listener Configuration"/>

<flow name="testfiltersFlow">

        <http:listener config-ref="HTTP_Listener_Configuration" path="/message" doc:name="HTTP"/>
        <message-filter doc:name="Message">
            <wildcard-filter pattern="*india*" caseSensitive="true"/>
        </message-filter>
      
    </flow>


</mule>