Async Scope in Mule 4 | Async in Mule 4
The Async scope is a branch
processing block that executes simultaneously with the main flow. The main flow
continues to execute while it initiates and processes the Async scope. The flow
does not have to pause until the last message processor embedded in the
asynchronous flow has completed its task.
Async can be useful for executing time-consuming operations that do not require you to send a response back to the initiating flow (such as printing a file or connecting to a mail server).
Async can be useful for executing time-consuming operations that do not require you to send a response back to the initiating flow (such as printing a file or connecting to a mail server).
Async scope processes the nested
list of message processors asynchronously using a thread pool.
flow of async scope:
Here in above flow, since we
applied async scope in subflow it processes asynchronously in a separate thread
while parent flow execute in separate thread.
So parent flow will not wait for child flow to execute and continue its processing irrespective of child flow.
URL : http://localhost:8085/async
Method : GET
So parent flow will not wait for child flow to execute and continue its processing irrespective of child flow.
URL : http://localhost:8085/async
Method : GET
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:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="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:listener-config name="HTTP_Listener_config" doc:name="HTTP Listener config" doc:id="32e8c48a-de6a-4a27-870f-dc9e2240af52" >
<http:listener-connection host="0.0.0.0" port="8085" />
</http:listener-config>
<flow name="test_asyncFlow" doc:id="761c4811-ddf5-4c4a-a75c-07b288cff799" >
<http:listener doc:name="Listener" doc:id="9930e598-8827-487c-b402-85bd05f50282" config-ref="HTTP_Listener_config" path="/async"/>
<async doc:name="Async" doc:id="918beb26-ca8b-4221-8693-11f511dc0891" >
<flow-ref doc:name="Flow Reference" doc:id="46f07222-8fcc-462d-9d87-acdeb5e78cbf" name="test_asyncFlow1"/>
<logger level="INFO" doc:name="Logger" doc:id="d0e30ad6-399f-48cb-9857-843381d6c664" message="First Logger"/>
</async>
<logger level="INFO" doc:name="Logger" doc:id="6c2f2bfc-ae5f-431e-9443-31b2ef489feb" message="Second Logger"/>
</flow>
<flow name="test_asyncFlow1" doc:id="4c146020-1bc6-40b8-9e72-5be70add5fcc" >
<logger level="INFO" doc:name="Logger" doc:id="5235ee3d-24df-41f8-af18-176034eb6c3c" message="In subflow........."/>
</flow>
</mule>
No comments:
Post a Comment