SlideShare a Scribd company logo
Mule Threading Management
• SEDA
• Thread pools
• Tuning Threading Profile
• Processing Strategy
• Async scope
SEDA(staged event-driven architecture)
• decomposes a complex, event-driven application into a set of stages
connected by queues
Mule threading profile & processing strategy
Factors that determine Thread Pool
• Configured exchange pattern
• Outbound message processor
• Transaction
• Processing strategy
If you are using synchronous processing, the same thread is used to carry
the message all the way through Mule. As the message is processed, if it
needs to be sent to an outbound endpoint, one of the following applies:
• If the outbound endpoint is one-way, the message is sent using the same
thread. Once it has been sent, the thread resumes processing the same
message. It does not wait for the message to be received by the remote
endpoint.
• If the outbound endpoint is request-response, the flow thread sends the
message to the outbound endpoint and waits for the response. When the
response arrives, the flow threads resumes by processing the response.
If you are doing asynchronous processing, the receiver thread is used only to
place the message on a staged event-driven architectur (SEDA) queue, at
which point the message is transferred to a flow thread, and the receiver
thread is released back into the receiver thread pool so it can carry another
message. As the message is processed, if it needs to be sent to an outbound
endpoint, one of the following applies:
• If the outbound endpoint is one-way, the message is copied and the copy
processed by a dispatcher thread, while the flow thread continues
processing the original message in parallel.
• If the outbound endpoint is request-response, the flow thread sends the
message to the outbound endpoint and waits for the response. When the
response arrives, the flow threads resumes by processing the response.
Scenario 1-Fully SEDA architecture
• Inbound connector is one-way
• Outbound connector is one-way
• No transactional flow
Scenario 2- synchronous-asynchronous mode
• Receiver Thread is exchange-pattern
• Dispacher Thread is one-way
Scenario 3- Fully synchronous mode
Scenario 4 - asynchronous-synchronous mode
How to implement own SEDA
• Mule’s VM transport is an excellent mechanism to help break your
flows into smaller, composite flows that are decoupled with in-
memory queueing. This allows you to realize the benefits of SEDA at
the macro level, breaking your application into smaller flows that can
be individually tuned and are decoupled with VM queueing.
Tuning threading profile
• Configuration level
• Connector level
• Flow level
Default Threading profile
• <configuration>
• <default-threading-profile
• maxBufferSize="100" maxThreadsActive="20"
• maxThreadsIdle="10" threadTTL="60000"
• poolExhaustedAction="ABORT" />
• </configuration>
Processing Strategy
• default queued asynchronous
• Synchronous-thread-per-processor-processing-strategy
• queued-thread-per-processor-processing-strategy
• thread-per-processor-processing-strategy (with cores)

More Related Content

PPTX
Muleflowarchitecturepart2
PPTX
Mule servlet connector
PPTX
Mule: Java Component
PPTX
Mule Message Chunk Aggregator
PPTX
Performance tuning in mule
PPTX
Mule Script Transformer
PPTX
Vm component in mule
PPTX
Mule splitters
Muleflowarchitecturepart2
Mule servlet connector
Mule: Java Component
Mule Message Chunk Aggregator
Performance tuning in mule
Mule Script Transformer
Vm component in mule
Mule splitters

What's hot (20)

PPT
Mule overview
 
PPT
Mule overview
PPTX
Mule splitters
PPTX
Controlling Message Flow - Mule ESB
PPTX
Mule esb usecase
PPTX
Mule TCP Component
PPTX
Thread Management In Mule
PPTX
Mule JMS Transport
PPT
Simple VM in Mule
PPTX
Mule concepts filters scopes_routers
PPTX
Mule Amazon SNS Connector
PPTX
Muletransformers
PPTX
Controlling message flow
PPTX
Mule Schema Validation Filter
PPTX
Mule LDAP Connector
PPTX
What is the difference between using private flow
PPTX
Mule scopes request_response_scope
PPTX
PPTX
Anypoint mq queues and exchanges
PPT
Mule esb introduction
Mule overview
 
Mule overview
Mule splitters
Controlling Message Flow - Mule ESB
Mule esb usecase
Mule TCP Component
Thread Management In Mule
Mule JMS Transport
Simple VM in Mule
Mule concepts filters scopes_routers
Mule Amazon SNS Connector
Muletransformers
Controlling message flow
Mule Schema Validation Filter
Mule LDAP Connector
What is the difference between using private flow
Mule scopes request_response_scope
Anypoint mq queues and exchanges
Mule esb introduction
Ad

Similar to Mule threading profile & processing strategy (20)

PPTX
Mule esb overview
ODP
Mule flow processing strategies
PPT
chapter4-processes nd processors in DS.ppt
PPTX
Unit 3_Network Layer_Part II.pptx
PPTX
Unit 4_Network Layer_Part II.pptx
PDF
Enterprise Messaging With ActiveMQ and Spring JMS
ODP
Mule esb flow processing strategies
PPT
Introduction 1
DOCX
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
PPTX
Message queue architecture
PPTX
Chapter04-OS.pptx........................
PPTX
OOP with Java - Multithreading - Module-5.pptx
PDF
Xen and-the-art-of-rails-deployment2640
PDF
Xen and-the-art-of-rails-deployment2640
PDF
Xen and-the-art-of-rails-deployment2640
PDF
Xen and-the-art-of-rails-deployment2640
PDF
Xen and-the-art-of-rails-deployment2640
PPTX
Multiprocessing -Interprocessing communication and process sunchronization,se...
PPT
Module2 MultiThreads.ppt
PPTX
distributed_os.pptx to the world and then proceed with this code
Mule esb overview
Mule flow processing strategies
chapter4-processes nd processors in DS.ppt
Unit 3_Network Layer_Part II.pptx
Unit 4_Network Layer_Part II.pptx
Enterprise Messaging With ActiveMQ and Spring JMS
Mule esb flow processing strategies
Introduction 1
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
Message queue architecture
Chapter04-OS.pptx........................
OOP with Java - Multithreading - Module-5.pptx
Xen and-the-art-of-rails-deployment2640
Xen and-the-art-of-rails-deployment2640
Xen and-the-art-of-rails-deployment2640
Xen and-the-art-of-rails-deployment2640
Xen and-the-art-of-rails-deployment2640
Multiprocessing -Interprocessing communication and process sunchronization,se...
Module2 MultiThreads.ppt
distributed_os.pptx to the world and then proceed with this code
Ad

Recently uploaded (20)

PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PPTX
Tartificialntelligence_presentation.pptx
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Architecture types and enterprise applications.pdf
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Univ-Connecticut-ChatGPT-Presentaion.pdf
A comparative study of natural language inference in Swahili using monolingua...
observCloud-Native Containerability and monitoring.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Chapter 5: Probability Theory and Statistics
Tartificialntelligence_presentation.pptx
Web App vs Mobile App What Should You Build First.pdf
2021 HotChips TSMC Packaging Technologies for Chiplets and 3D_0819 publish_pu...
Developing a website for English-speaking practice to English as a foreign la...
Getting started with AI Agents and Multi-Agent Systems
Enhancing emotion recognition model for a student engagement use case through...
Hindi spoken digit analysis for native and non-native speakers
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Final SEM Unit 1 for mit wpu at pune .pptx
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Architecture types and enterprise applications.pdf
cloud_computing_Infrastucture_as_cloud_p
OMC Textile Division Presentation 2021.pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game

Mule threading profile & processing strategy

  • 1. Mule Threading Management • SEDA • Thread pools • Tuning Threading Profile • Processing Strategy • Async scope
  • 2. SEDA(staged event-driven architecture) • decomposes a complex, event-driven application into a set of stages connected by queues
  • 4. Factors that determine Thread Pool • Configured exchange pattern • Outbound message processor • Transaction • Processing strategy
  • 5. If you are using synchronous processing, the same thread is used to carry the message all the way through Mule. As the message is processed, if it needs to be sent to an outbound endpoint, one of the following applies: • If the outbound endpoint is one-way, the message is sent using the same thread. Once it has been sent, the thread resumes processing the same message. It does not wait for the message to be received by the remote endpoint. • If the outbound endpoint is request-response, the flow thread sends the message to the outbound endpoint and waits for the response. When the response arrives, the flow threads resumes by processing the response.
  • 6. If you are doing asynchronous processing, the receiver thread is used only to place the message on a staged event-driven architectur (SEDA) queue, at which point the message is transferred to a flow thread, and the receiver thread is released back into the receiver thread pool so it can carry another message. As the message is processed, if it needs to be sent to an outbound endpoint, one of the following applies: • If the outbound endpoint is one-way, the message is copied and the copy processed by a dispatcher thread, while the flow thread continues processing the original message in parallel. • If the outbound endpoint is request-response, the flow thread sends the message to the outbound endpoint and waits for the response. When the response arrives, the flow threads resumes by processing the response.
  • 7. Scenario 1-Fully SEDA architecture • Inbound connector is one-way • Outbound connector is one-way • No transactional flow
  • 8. Scenario 2- synchronous-asynchronous mode • Receiver Thread is exchange-pattern • Dispacher Thread is one-way
  • 9. Scenario 3- Fully synchronous mode
  • 10. Scenario 4 - asynchronous-synchronous mode
  • 11. How to implement own SEDA • Mule’s VM transport is an excellent mechanism to help break your flows into smaller, composite flows that are decoupled with in- memory queueing. This allows you to realize the benefits of SEDA at the macro level, breaking your application into smaller flows that can be individually tuned and are decoupled with VM queueing.
  • 12. Tuning threading profile • Configuration level • Connector level • Flow level
  • 13. Default Threading profile • <configuration> • <default-threading-profile • maxBufferSize="100" maxThreadsActive="20" • maxThreadsIdle="10" threadTTL="60000" • poolExhaustedAction="ABORT" /> • </configuration>
  • 14. Processing Strategy • default queued asynchronous • Synchronous-thread-per-processor-processing-strategy • queued-thread-per-processor-processing-strategy • thread-per-processor-processing-strategy (with cores)