Upload
jitendra-bafna
View
198
Download
3
Embed Size (px)
Citation preview
MULTICASTING (SCATTER-GATHER) MESSAGES WITH MULESOFT
SCATTER GATHER
MULTICASTING OF MESSAGE WITH MULESOFT CAN BE ACHIEVED USING SCATTER GATHER
WHICH CONCURRENTLY CAST THE MESSAGE TO EACH ROUTES AND IT COLLECTS RESULTS FROM
ALL THE ROUTES AND AGGREGATES INTO A SINGLE MESSAGE.
DURING PROCESSING OF SCATTER GATHER PROCESSING, IF ANY OF THE ROUTES FAILED, IT
DOESN'T STOP SENDING MESSAGE TO OTHER CONFIGURED ROUTES, SO IT IS POSSIBLE THAT
ONE OR MORE CONFIGURED ROUTES FAILS CONCURRENTLY.
BY DEFAULT, IF ANY OF THE ROUTER FAILS DURING SCATTER GATHER PROCESSING, THE
FOLLOWING ACTION WILL BE PERFORMED.
• SET A EXCEPTION PAYLOAD FOR EACH FAILED ROUTE.
• THROWS A COMPOSITEROUTINGEXCEPTION.
SCATTER GATHER
COMPOSITEROUTINGEXCEPTION EXTENDS MESSAGINGEXCEPTION TO AGGREGATE
EXCEPTIONS FROM DIFFERENT ROUTE IN THE CONTEXT OF A SINGLE MESSAGE ROUTER.
EXCEPTIONS ARE CORRELATED TO EACH ROUTE THROUGH A SEQUENTIAL ID.
SCATTER GATHER APPLICATION WILL NOT START IF YOU HAVE CONFIGURED WITH LESS THAN
TWO ROUTES. IT SHOULD ALWAYS CONTAINS TWO OR MORE ROUTES.
LET'S WALKTHROUGH SETTING UP SCATTER GATHER WITH MULE APPLICATION.
SCATTER GATHER
SETTING UP HTTP LISTENER WITH MULE FLOW
NOW FIRST YOU NEED TO PLACE THE HTTP LISTENER TO THE SOURCE OF MULE FLOW AND
CONFIGURE IT. SO YOU CAN INVOKE MULE FLOW BY SENDING A REQUEST OVER HTTP.
SCATTER GATHER
CONFIGURING SCATTER GATHER ROUTE WITH MULE FLOW
NOW YOU NEED TO DROP SCATTER GATHER ROUTE IN MESSAGE PROCESSOR OF MULE FLOW.
NOW YOU NEED TO SEND A MESSAGE CONCURRENTLY TO MULTIPLE ROUTES VIA HTTP, JMS,
WEB SERVICE CONSUMER, FILE ETC. TO ACHIEVE THIS WE WILL ADD DIFFERENT CONNECTORS
UNDER SCATTER GATHER ROUTE AND PLACING THEM PARALLELLY AND CONFIGURE ALL THE
CONNECTORS IN SCATTER GATHER ROUTE.
SCATTER GATHER
IN PREVIOUS SCREENSHOT, YOU CAN SEE TRANSFORMMESSAGE HAS BEEN USED AFTER WEB
SERVICE CONSUMER AND HTTP REQUESTOR. BASICALLY WE ARE GETTING RESULT BACK FROM
BOTH ENDPOINTS AND WE ARE TRANSFORMING BOTH RESPONSE TO SINGLE GENERIC FORMAT
AS RESPONSE FROM BOTH ROUTE WILL BE IN DIFFERENT FORMAT.
ONE MORE TRANSFORM HAS BEEN PLACED AT THE END OF SCATTER GATHER ROUTE, IT IS
BECAUSE THIS TRANSFORM WILL AGGREGATES THE RESULT FROM ALL THE ROUTES TO SINGLE
MESSAGE.
TESTING THE APPLICATION
YOU CAN USE THE POSTMAN TO TEST THE APPLICATION. SO WE WILL USE HTTP GET METHOD
TO SEND REQUEST TO INVOKE MULE FLOW.
THANK YOU