SlideShare a Scribd company logo
1 of 10
Mule Batch Processing Concepts
Batch Processing
Mule possesses the ability to process messages in batches.
Within an application, you can initiate a batch job which is a block of
code that splits messages into individual records, performs actions upon
each record, then reports on the results and potentially pushes the
processed output to other systems or queues.
Batch processing is particularly useful when working with the following
scenarios:

Integrating data sets, small or large, streaming or not, to parallel
process records.

Synchronizing data sets between business applications, such as
syncing contacts between NetSuite and Salesforce and causing "near
real-time" data integration.

Extracting, transforming and loading (ETL) information into a target
system, such as uploading data from a flat file (CSV) to Hadoop.

Handling large quantities of incoming data from an API into a legacy
system.
Batch Job:
Batch job is a top-level element in Mule which exists outside all Mule
flows. Batch jobs split large messages into records which processes
asynchronously in a batch job.
A batch job contains one or more batch steps which, in turn, contain any
number of message processors that act upon records as they move
through the batch job. During batch processing, you can use record
variables and MEL expressions to enrich, route or otherwise act upon
records.
Batch Job Insatnce:
whenever a Mule flow executes a batch job. Mule creates the batch
job instance in the Load and Dispatch phase. Every batch job instance is
identified internally using a unique String known as batch job instance id.
Phase Configuration
Input optional
Load and Dispatch implicit, not exposed in
a Mule application
Process required
On Complete optional
Batch Processing Phases:

Input:
The first phase, Input, is an optional part of the batch job configuration
and is designed to Triggering Batch Jobs via an inbound connector,
and/or accommodate any transformations or adjustments to a message
payload before Mule begins processing it as a batch.

Load and Dispatch:
The second phase, Load and Dispatch, is implicit and performs all the
"behind the scenes" work to create a batch job instance. Essentially,
this is the phase during which Mule turns a serialized message
payload into a collection of records for processing as a batch. You
don’t need to configure anything for this activity to occur, though it is
useful to understand the tasks Mule completes during this phase.

Process:
Mule begins asynchronous processing of the records in the batch. Within
this required phase, each record moves through the message
processors in the first batch step, then is sent back to the original
queue while it waits to be processed by the second batch step and so
on until every record has passed through every batch step.

Only one queue exists and records are picked out of it for each batch
step, processed, and then sent back to it each record keeps track of
what stages it has been processed through while it sits on this queue.
Note that a batch job instance does not wait for all its queued records
to finish processing in one batch step before pushing any of them to
the next batch step.

On Complete:
we can optionally configure Mule to create a report or summary of the
records it processed for the particular batch job instance. This phase
exists to give system administrators and developers some insight into
which records failed so as to address any issues that might exist with
the input data.

After Mule executes the entire batch job, the output becomes a batch
job result object (BatchJobResult).

you have two options for working with the output.
− Create a report
− Reference the batch job result object

Batch Processing Terminology:
we have term in batch processing.
Batch,Batch Commit,Batch Job,Batch Job Instance,Batch Job
Result,Batch Message Processor,Batch Phase,Batch Step,Record

Batch Elements:
− Batch,Batch Commit,Batch Reference,Batch Threading Profile,
Record Variable.
− In Batch Threading Profile, we have some attributes.
PoolExhaustedAction,maxThreadsActive,maxThreadsIdle,
threadTTL,threadWaitTimeout,maxBufferSize

BatchJobResult Processing Statistics:
batchJobInstanceId,elapsedTimeInMillis,failedOnCompletePhase,fail
edOnInputPhase,failedOnLoadingPhase,failedRecords,inputPhase
Exception,loadedRecords,loadingPhaseException,onCompletePha
seException,processedRecords,successfulRecords,totalRecords.

Handling Failures During Batch Processing:
Mule has three options for handling a record-level error.

Finish processing

Continue processing

Continue processing based on limit

More Related Content

What's hot

Mule scopes request_response_scope
Mule scopes request_response_scopeMule scopes request_response_scope
Mule scopes request_response_scopekunal vishe
 
Runing batch job in mule
Runing batch job in muleRuning batch job in mule
Runing batch job in muleSon Nguyen
 
Connectors in mule
Connectors in muleConnectors in mule
Connectors in muleSindhu VL
 
File component in mule
File component in muleFile component in mule
File component in muleRajkattamuri
 
Mule Microsoft Service Bus
Mule Microsoft Service BusMule Microsoft Service Bus
Mule Microsoft Service BusAnkush Sharma
 
Mule any point studio
Mule any point studioMule any point studio
Mule any point studioSon Nguyen
 
Splitters in mule
Splitters in muleSplitters in mule
Splitters in mulevasanthii9
 
Mule accessing multiple database in parallel
Mule accessing multiple database in parallelMule accessing multiple database in parallel
Mule accessing multiple database in parallelAnirban Sen Chowdhary
 
Mule servlet connector
Mule servlet connectorMule servlet connector
Mule servlet connectorAnkush Sharma
 
Mule esb basic introduction
Mule esb basic introductionMule esb basic introduction
Mule esb basic introductionSon Nguyen
 
Mule quartz hari_gatadi
Mule quartz hari_gatadiMule quartz hari_gatadi
Mule quartz hari_gatadiHari Gatadi
 
Batch job processing
Batch job processingBatch job processing
Batch job processingSon Nguyen
 
What is the difference between using private flow
What is the difference between using private flowWhat is the difference between using private flow
What is the difference between using private flowSon Nguyen
 
File component in mule demo
File component in mule demoFile component in mule demo
File component in mule demoSudha Ch
 

What's hot (20)

Mule scopes request_response_scope
Mule scopes request_response_scopeMule scopes request_response_scope
Mule scopes request_response_scope
 
Mule jdbc
Mule   jdbcMule   jdbc
Mule jdbc
 
Runing batch job in mule
Runing batch job in muleRuning batch job in mule
Runing batch job in mule
 
Connectors in mule
Connectors in muleConnectors in mule
Connectors in mule
 
File component in mule
File component in muleFile component in mule
File component in mule
 
Mule batch
Mule batchMule batch
Mule batch
 
Mulesoft ppt
Mulesoft pptMulesoft ppt
Mulesoft ppt
 
Mule Microsoft Service Bus
Mule Microsoft Service BusMule Microsoft Service Bus
Mule Microsoft Service Bus
 
Mule any point studio
Mule any point studioMule any point studio
Mule any point studio
 
Splitters in mule
Splitters in muleSplitters in mule
Splitters in mule
 
Mule accessing multiple database in parallel
Mule accessing multiple database in parallelMule accessing multiple database in parallel
Mule accessing multiple database in parallel
 
Mule splitters
Mule splittersMule splitters
Mule splitters
 
Mule servlet connector
Mule servlet connectorMule servlet connector
Mule servlet connector
 
Mule esb basic introduction
Mule esb basic introductionMule esb basic introduction
Mule esb basic introduction
 
Mule quartz hari_gatadi
Mule quartz hari_gatadiMule quartz hari_gatadi
Mule quartz hari_gatadi
 
Mule esb
Mule esbMule esb
Mule esb
 
Batch job processing
Batch job processingBatch job processing
Batch job processing
 
What is the difference between using private flow
What is the difference between using private flowWhat is the difference between using private flow
What is the difference between using private flow
 
File component in mule demo
File component in mule demoFile component in mule demo
File component in mule demo
 
xslt in mule
xslt in mulexslt in mule
xslt in mule
 

Viewers also liked

J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch ProcessingChris Adkin
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesbhimajareddys
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esbhimajareddys
 
Splitter and Collection Aggregator With Mulesoft
Splitter and Collection Aggregator With Mulesoft Splitter and Collection Aggregator With Mulesoft
Splitter and Collection Aggregator With Mulesoft Jitendra Bafna
 
Clustering training
Clustering trainingClustering training
Clustering trainingGabor Veress
 
Anypoint Studio - Mule ESB Error Handling
Anypoint Studio - Mule ESB Error HandlingAnypoint Studio - Mule ESB Error Handling
Anypoint Studio - Mule ESB Error HandlingMani Rathnam Gudi
 
Introduction To Anypoint CloudHub With Mulesoft
Introduction To Anypoint CloudHub With MulesoftIntroduction To Anypoint CloudHub With Mulesoft
Introduction To Anypoint CloudHub With MulesoftJitendra Bafna
 
05 Clustering in Data Mining
05 Clustering in Data Mining05 Clustering in Data Mining
05 Clustering in Data MiningValerii Klymchuk
 
K-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnK-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnSarah Guido
 
Introduction to Real-time data processing
Introduction to Real-time data processingIntroduction to Real-time data processing
Introduction to Real-time data processingYogi Devendra Vyavahare
 
Mulesoftmelbasics 150904031330-lva1-app6891
Mulesoftmelbasics 150904031330-lva1-app6891Mulesoftmelbasics 150904031330-lva1-app6891
Mulesoftmelbasics 150904031330-lva1-app6891akshay yeluru
 
Como Utilizar El Simbolo del Sistema(CMD)
Como Utilizar El Simbolo del Sistema(CMD)Como Utilizar El Simbolo del Sistema(CMD)
Como Utilizar El Simbolo del Sistema(CMD)Yimmy Bernal
 

Viewers also liked (13)

J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch Processing
 
Integration patterns in muleesb
Integration patterns in muleesbIntegration patterns in muleesb
Integration patterns in muleesb
 
Security components in mule esb
Security components in mule esbSecurity components in mule esb
Security components in mule esb
 
Splitter and Collection Aggregator With Mulesoft
Splitter and Collection Aggregator With Mulesoft Splitter and Collection Aggregator With Mulesoft
Splitter and Collection Aggregator With Mulesoft
 
Clustering training
Clustering trainingClustering training
Clustering training
 
Anypoint Studio - Mule ESB Error Handling
Anypoint Studio - Mule ESB Error HandlingAnypoint Studio - Mule ESB Error Handling
Anypoint Studio - Mule ESB Error Handling
 
Introduction To Anypoint CloudHub With Mulesoft
Introduction To Anypoint CloudHub With MulesoftIntroduction To Anypoint CloudHub With Mulesoft
Introduction To Anypoint CloudHub With Mulesoft
 
05 Clustering in Data Mining
05 Clustering in Data Mining05 Clustering in Data Mining
05 Clustering in Data Mining
 
Clustering: A Survey
Clustering: A SurveyClustering: A Survey
Clustering: A Survey
 
K-means Clustering with Scikit-Learn
K-means Clustering with Scikit-LearnK-means Clustering with Scikit-Learn
K-means Clustering with Scikit-Learn
 
Introduction to Real-time data processing
Introduction to Real-time data processingIntroduction to Real-time data processing
Introduction to Real-time data processing
 
Mulesoftmelbasics 150904031330-lva1-app6891
Mulesoftmelbasics 150904031330-lva1-app6891Mulesoftmelbasics 150904031330-lva1-app6891
Mulesoftmelbasics 150904031330-lva1-app6891
 
Como Utilizar El Simbolo del Sistema(CMD)
Como Utilizar El Simbolo del Sistema(CMD)Como Utilizar El Simbolo del Sistema(CMD)
Como Utilizar El Simbolo del Sistema(CMD)
 

Similar to Batch processing

Batch processing
Batch processingBatch processing
Batch processingHarish43
 
Batch processing
Batch processingBatch processing
Batch processingHarish43
 
Mulesoft anypoint batch processing
Mulesoft anypoint batch processingMulesoft anypoint batch processing
Mulesoft anypoint batch processingakshay yeluru
 
Mule concepts
Mule conceptsMule concepts
Mule conceptsSindhu VL
 
Mule batch introduction
Mule batch introductionMule batch introduction
Mule batch introductionSon Nguyen
 
Cleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
Cleveland Meetup July 15,2021 - Advanced Batch Processing ConceptsCleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
Cleveland Meetup July 15,2021 - Advanced Batch Processing ConceptsTintu Jacob Shaji
 
Step by step lsmw tutorial
Step by step lsmw tutorialStep by step lsmw tutorial
Step by step lsmw tutorialraonivaz
 
Ui path certificate question set 1
Ui path certificate question set 1Ui path certificate question set 1
Ui path certificate question set 1Majid Hashmi
 
Anypoint Batch Processing and Polling Scope With Mulesoft
Anypoint Batch Processing and Polling Scope With MulesoftAnypoint Batch Processing and Polling Scope With Mulesoft
Anypoint Batch Processing and Polling Scope With MulesoftJitendra Bafna
 
Elements in a muleflow
Elements in a muleflowElements in a muleflow
Elements in a muleflowThang Loi
 
Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Srikanth N
 
Elements in a mule flow
Elements in a mule flowElements in a mule flow
Elements in a mule flowSindhu VL
 
Munit junit test case
Munit junit test caseMunit junit test case
Munit junit test caseprudhvivreddy
 
Mule concepts flows
Mule concepts flowsMule concepts flows
Mule concepts flowskunal vishe
 

Similar to Batch processing (20)

Batch processing
Batch processingBatch processing
Batch processing
 
Batch processing
Batch processingBatch processing
Batch processing
 
Mule batch
Mule batchMule batch
Mule batch
 
Mule batch job
Mule batch jobMule batch job
Mule batch job
 
Mulesoft anypoint batch processing
Mulesoft anypoint batch processingMulesoft anypoint batch processing
Mulesoft anypoint batch processing
 
Batch processing
Batch processingBatch processing
Batch processing
 
Mule concepts
Mule conceptsMule concepts
Mule concepts
 
Mule batch introduction
Mule batch introductionMule batch introduction
Mule batch introduction
 
Mule fundamentals
Mule fundamentalsMule fundamentals
Mule fundamentals
 
Cleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
Cleveland Meetup July 15,2021 - Advanced Batch Processing ConceptsCleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
Cleveland Meetup July 15,2021 - Advanced Batch Processing Concepts
 
Mule batch processing
Mule batch processingMule batch processing
Mule batch processing
 
Step by step lsmw tutorial
Step by step lsmw tutorialStep by step lsmw tutorial
Step by step lsmw tutorial
 
Mulebatch
MulebatchMulebatch
Mulebatch
 
Ui path certificate question set 1
Ui path certificate question set 1Ui path certificate question set 1
Ui path certificate question set 1
 
Anypoint Batch Processing and Polling Scope With Mulesoft
Anypoint Batch Processing and Polling Scope With MulesoftAnypoint Batch Processing and Polling Scope With Mulesoft
Anypoint Batch Processing and Polling Scope With Mulesoft
 
Elements in a muleflow
Elements in a muleflowElements in a muleflow
Elements in a muleflow
 
Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2
 
Elements in a mule flow
Elements in a mule flowElements in a mule flow
Elements in a mule flow
 
Munit junit test case
Munit junit test caseMunit junit test case
Munit junit test case
 
Mule concepts flows
Mule concepts flowsMule concepts flows
Mule concepts flows
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

Batch processing

  • 2. Batch Processing Mule possesses the ability to process messages in batches. Within an application, you can initiate a batch job which is a block of code that splits messages into individual records, performs actions upon each record, then reports on the results and potentially pushes the processed output to other systems or queues.
  • 3. Batch processing is particularly useful when working with the following scenarios:  Integrating data sets, small or large, streaming or not, to parallel process records.  Synchronizing data sets between business applications, such as syncing contacts between NetSuite and Salesforce and causing "near real-time" data integration.  Extracting, transforming and loading (ETL) information into a target system, such as uploading data from a flat file (CSV) to Hadoop.  Handling large quantities of incoming data from an API into a legacy system.
  • 4. Batch Job: Batch job is a top-level element in Mule which exists outside all Mule flows. Batch jobs split large messages into records which processes asynchronously in a batch job. A batch job contains one or more batch steps which, in turn, contain any number of message processors that act upon records as they move through the batch job. During batch processing, you can use record variables and MEL expressions to enrich, route or otherwise act upon records. Batch Job Insatnce: whenever a Mule flow executes a batch job. Mule creates the batch job instance in the Load and Dispatch phase. Every batch job instance is identified internally using a unique String known as batch job instance id.
  • 5. Phase Configuration Input optional Load and Dispatch implicit, not exposed in a Mule application Process required On Complete optional Batch Processing Phases:
  • 6.  Input: The first phase, Input, is an optional part of the batch job configuration and is designed to Triggering Batch Jobs via an inbound connector, and/or accommodate any transformations or adjustments to a message payload before Mule begins processing it as a batch.  Load and Dispatch: The second phase, Load and Dispatch, is implicit and performs all the "behind the scenes" work to create a batch job instance. Essentially, this is the phase during which Mule turns a serialized message payload into a collection of records for processing as a batch. You don’t need to configure anything for this activity to occur, though it is useful to understand the tasks Mule completes during this phase.  Process: Mule begins asynchronous processing of the records in the batch. Within this required phase, each record moves through the message processors in the first batch step, then is sent back to the original queue while it waits to be processed by the second batch step and so on until every record has passed through every batch step.
  • 7.  Only one queue exists and records are picked out of it for each batch step, processed, and then sent back to it each record keeps track of what stages it has been processed through while it sits on this queue. Note that a batch job instance does not wait for all its queued records to finish processing in one batch step before pushing any of them to the next batch step.
  • 8.  On Complete: we can optionally configure Mule to create a report or summary of the records it processed for the particular batch job instance. This phase exists to give system administrators and developers some insight into which records failed so as to address any issues that might exist with the input data.  After Mule executes the entire batch job, the output becomes a batch job result object (BatchJobResult).  you have two options for working with the output. − Create a report − Reference the batch job result object
  • 9.  Batch Processing Terminology: we have term in batch processing. Batch,Batch Commit,Batch Job,Batch Job Instance,Batch Job Result,Batch Message Processor,Batch Phase,Batch Step,Record  Batch Elements: − Batch,Batch Commit,Batch Reference,Batch Threading Profile, Record Variable. − In Batch Threading Profile, we have some attributes. PoolExhaustedAction,maxThreadsActive,maxThreadsIdle, threadTTL,threadWaitTimeout,maxBufferSize  BatchJobResult Processing Statistics: batchJobInstanceId,elapsedTimeInMillis,failedOnCompletePhase,fail edOnInputPhase,failedOnLoadingPhase,failedRecords,inputPhase Exception,loadedRecords,loadingPhaseException,onCompletePha seException,processedRecords,successfulRecords,totalRecords.
  • 10.  Handling Failures During Batch Processing: Mule has three options for handling a record-level error.  Finish processing  Continue processing  Continue processing based on limit