 The main motto of this PPT is How to use
Expression Filter in our applications.
 Expression Filter filters against a range of
expressions.
.mflow
<?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" version="EE-3.4.0"
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">
<flow name="ExpressionFilterFlow1" doc:name="ExpressionFilterFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8093"
path="ExpressionFilter" doc:name="HTTP"/>
<logger message="--Entered into the flow" level="INFO" doc:name="Logger"/>
<set-payload value="Hello World" doc:name="Set Payload"/>
<expression-filter expression="#[message.payload != 'Hello']" doc:name="Expression"/>
<logger message="--Success" level="INFO" doc:name="Logger"/>
</flow>
</mule>
 Output:
INFO 2015-12-13 10:08:59,848 [[ExpressionFilter].config.change.2.thread.1]
org.mule.DefaultMuleContext:
**********************************************************************
* Application: ExpressionFilter *
* OS encoding: Cp1252, Mule encoding: UTF-8 *
* *
* Agents Running: *
* Clustering Agent *
* JMX Agent *
**********************************************************************
INFO 2015-12-13 10:08:59,849 [[ExpressionFilter].config.change.2.thread.1]
org.mule.module.launcher.MuleDeploymentService:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Started app 'ExpressionFilter' +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO 2015-12-13 10:09:04,493 [[ExpressionFilter].connector.http.mule.default.receiver.02]
org.mule.api.processor.LoggerMessageProcessor: --Entered into the flow
INFO 2015-12-13 10:09:04,507 [[ExpressionFilter].connector.http.mule.default.receiver.02]
org.mule.api.processor.LoggerMessageProcessor: --Success
 Flow of execution:
1. URL to trigger the service from browser
http://localhost:8093/ExpressionFilter
2. Expression filter checks whether the given
payload not equal to ‘Hello’ or not?, if yes, it will
print a message ‘Success’, else it will not go
further.
 https://docs.mulesoft.com/mule-user-
guide/v/3.7/filters

Expression

  • 2.
     The mainmotto of this PPT is How to use Expression Filter in our applications.
  • 3.
     Expression Filterfilters against a range of expressions.
  • 5.
    .mflow <?xml version="1.0" encoding="UTF-8"?> <mulexmlns: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" version="EE-3.4.0" 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"> <flow name="ExpressionFilterFlow1" doc:name="ExpressionFilterFlow1"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8093" path="ExpressionFilter" doc:name="HTTP"/> <logger message="--Entered into the flow" level="INFO" doc:name="Logger"/> <set-payload value="Hello World" doc:name="Set Payload"/> <expression-filter expression="#[message.payload != 'Hello']" doc:name="Expression"/> <logger message="--Success" level="INFO" doc:name="Logger"/> </flow> </mule>
  • 6.
     Output: INFO 2015-12-1310:08:59,848 [[ExpressionFilter].config.change.2.thread.1] org.mule.DefaultMuleContext: ********************************************************************** * Application: ExpressionFilter * * OS encoding: Cp1252, Mule encoding: UTF-8 * * * * Agents Running: * * Clustering Agent * * JMX Agent * ********************************************************************** INFO 2015-12-13 10:08:59,849 [[ExpressionFilter].config.change.2.thread.1] org.mule.module.launcher.MuleDeploymentService: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Started app 'ExpressionFilter' + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ INFO 2015-12-13 10:09:04,493 [[ExpressionFilter].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --Entered into the flow INFO 2015-12-13 10:09:04,507 [[ExpressionFilter].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --Success
  • 7.
     Flow ofexecution: 1. URL to trigger the service from browser http://localhost:8093/ExpressionFilter 2. Expression filter checks whether the given payload not equal to ‘Hello’ or not?, if yes, it will print a message ‘Success’, else it will not go further.
  • 8.