15+ Must-Know Mule [ ESB ] Interview Questions & Answers
Last updated on 04th Jul 2020, Blog, Interview Questions
The Enterprise Service Bus, or Mule ESB, is a highly scalable and lightweight integration framework that makes it easier for different systems, applications, and services to communicate and exchange data. Mule ESB, created by MuleSoft, streamlines the integration process by offering a stable foundation for integrating disparate systems with a pliable architecture grounded in service-oriented architecture (SOA). It is compatible with a large variety of connectors and adapters to connect to various databases, protocols, and applications. Mule ESB fosters agility in the development and upkeep of linked systems by enabling enterprises to create, implement, and manage integrations effectively. It is renowned for being extensible, simple to use, and capable of managing challenging integration scenarios in a range of business contexts.
1. What is MuleSoft?
MuleSoft is the cluster-based solution provider that integrates with the Data, Applications, and APIs on-premises over cloud platform. It works on AnyPoint Connectivity Modelwhich connects existing the SaaS-based applications or set of APIs through a one single API interface. It is flexible in accessing all required applications with integration support that is based on a service-oriented architecture.
2. What is ESB?
The Mule ESB is an integration platform based on the ESB java that enables developers to quickly connect applications and exchange the data. It integrates with existing system irrespective of technologies which applications use like Web Services, HTTP, JDBC, JMS etc.
3. What is Transient Context?
It is used in passing required values within existing flow. The flow can be either requesting flow or responding flow. Transient flow is not used across since it will not make link requests or responses together. It will not be used in saving input message before service gets invoked into the request or response flow.
4. How can develop and consume SOAP services in Mule?
SOAP services are created in the similar fashion as that of creating Mule project by using the RAML. The difference is that Concert the WSDL is imported instead of RAML and SOAP services are consumed by using the Web Service consumer or Mule flow CXF components.
5. Difference between Callout and Service Invoke?
Invokes an external service or API directly
|Invokes a predefined service or operation
|Typical Use Case
|Data Making HTTP requests to external endpoints
|Invoking services within a service-oriented architecture (SOA)
|Requires specifying endpoint URL, method, headers, etc.
|Requires configuring the target service, operation, and input parameters
|Can be used for various protocols like HTTP, REST, SOAP, etc.
|Primarily used for service-oriented protocols like SOAP, REST, etc.
6. What is advantage of using Mule ESB?
Mule ESB is the lightweight and highly scalable integration framework which enables developers to start and connect the various applications. The Mule manages the exchange between components, applications transparency and ESB is taken care of by the various applications. Mule can easily integrate a third-party applications.
7. What is functionality of Fan-in and Fan-out?
Fan-out: The Fan-Out primitive is used to fire output terminal once or the multiple times. Fan-Out can be used in isolation or as combination of Fan-Out and Fan-In.
Fan-in: The Fan-In acts as decision point to continue flow execution. Until a decision point is reached it receives the number of messages, at which point the last message to be received is propagated to output terminal.
8. Name the features in Mule ESB?
- Message Routing Service.
- Message Transformation Service.
- Set of Service Container.
- Web Service Security.
9. What are all configurations required for implementing JDBC Adapter?
Configuring JDBC Adapter is relatively easy if have expertise in linking databases. Further, it only needs data source to link and configure with the database. Moreover, if database has secure access, it must build the security validation program.
10. What is Difference between SDO and SMO?
SDO: It is the Service Data Object which represents variable or an object.
SMO: It is the model pattern that is used for a SDO Data Objects to represent messages.
11. How can a Custom Java Class be called using a Dataweave?
In MuleSoft, invoking a custom Java class with DataWeave involves using the Java module within a DataWeave transformation. By importing the Java class into the DataWeave script and referencing its methods with relevant payload parameters, you seamlessly integrate custom Java logic into your data transformations. It is crucial to ensure that the custom Java class is on the application’s classpath. This approach enhances flexibility and extensibility in handling data transformations, allowing for efficient integration of Java functionality within MuleSoft applications.
- %dw 2.0
- output application/json
- import java!my.package.MyCustomClass // Replace ‘my.package’ with the actual package
- result: java!myCustomClass.myMethod(payload.input)
12. What are different types of variables in Mule?
- Record variable.
- Session variable.
- Flow variable.
13. Explain core principles in ESB Integration.
Transportation – Transport protocol negotiation between the different formats including the JMS, JDBC, HTTP, etc.
Transformation – Data transformation between data formats as required by individual ESB connector.
Non-functional consistency – Applying consistent implementation of monitoring and security policies.
Mediation – As name suggests which involves the offering different interfaces.
14. What are various parts of composing message in Mule?
Composing a message in Mule involves manipulating and transforming data within a Mule flow to meet specific integration requirements. The key components of composing a message in Mule include connectors, transformers, and filters. Connectors facilitate communication with external systems, allowing the flow to send and receive data. Transformers are responsible for converting data formats, such as XML to JSON or vice versa, ensuring compatibility between different systems. Filters enable conditional processing, allowing only certain messages to proceed through the flow based on defined criteria.
15. What are different types of messages in MuleSoft?
In MuleSoft, various message types facilitate data flow and integration. The Inbound Message represents data received from external sources, while the Internal Message is manipulated within the Mule flow. Outbound Messages are sent back to external systems, often after processing, and Error Messages handle exceptions. These message types enable developers to design flexible and reliable integration flows, ensuring smooth communication and data exchange between different components and systems in an application.
16. What is difference between ESB and JMS?
ESB It provides the middleware and interfaces services which allow business enterprises to connect the applications without writing any code.
JMS It provides the communication facility and messaging capability between a modules of an application.
17. Explain parameters used in configuring scheduler.
Configuring a scheduler in Mule involves specifying parameters to control the timing and frequency of task execution. Key parameters include “frequency,” determining how often the task runs, and “startDelay,” indicating the initial delay before the scheduler begins. The “timeUnit” parameter defines the unit of time for frequency and startDelay, such as seconds or minutes.
18. What is Mule Data Integrator?
A mule data integrator is the tool that maps data by visualizing it. It offers drag and drop feature interface which makes developers code easily.
19. What are advantages of SOAP?
- Being lightweight protocol it can be used for a data exchange between applications.
- The SOAP protocol works on any programming languages based on the Windows and Linux platforms.
- Customization is not required to run web services built on SOAP protocol for working on WWW.
20. Name configuration patters provided by MuleSoft?
- WS proxy
- Simple service pattern
- HTTP proxy
21. What are characteristics of global endpoint?
Global endpoints in Mule serve as reusable configurations for outbound communication, encapsulating details such as address, connectors, and transformers. These endpoints are defined globally and can be referenced across multiple flows, promoting consistency and ease of maintenance. Characteristics of global endpoints include configurability through properties and the ability to abstract away low-level connectivity details.
22. What is use of Outbound Endpoint in MuleSoft?
- Sending SOAP messages.
- Writing to the file streams.
- Sending email messages.
23. What Are Available Esbs Apart From Mule?
Several other Enterprise Service Bus (ESB) options exist alongside Mule. Apache ServiceMix, based on Apache Camel and ActiveMQ, provides a lightweight ESB solution. Red Hat Fuse integrates technologies like Camel and Apache Karaf for enterprise integration. WSO2 ESB offers an open-source, Java-based solution with support for various protocols. IBM Integration Bus, part of the IBM Integration suite, facilitates connectivity and transformation.
24. What are various categories of Mule Processors?
- Exception strategies.
- Business events.
25. Name languages supported by MuleSoft?
Many programming languages are supported by MuleSoft for creating applications and integrations. Mule’s domain-specific language (DSL), XML, is the main language used to configure Mule applications. Furthermore, MuleSoft interfaces with languages like Java, Groovy, and DataWeave with ease. Custom components and intricate logic are frequently implemented in Java, whereas DataWeave is a potent transformation language for data manipulation. Groovy can be utilized to script elements for dynamic functionality. This multi-language support enhances flexibility, allowing developers to leverage their existing skills and choose the most suitable language for different aspects of their integration projects.
26. What are benefits of logger component?
The logger component in MuleSoft provides essential benefits for application development and debugging. It allows developers to output custom messages at different log levels, aiding in real-time monitoring and troubleshooting during runtime. The logger is instrumental in tracking the flow of data, identifying potential issues, and providing insights into the application’s behavior. Its flexibility in specifying log levels, message formats, and dynamic content inclusion enhances the visibility and understandability of the application’s execution, contributing to effective debugging and maintenance processes.
27. What are the advantages of using ESB?
An Enterprise Service Bus (ESB) offers several advantages in modern IT architectures. It facilitates seamless communication and integration among diverse applications and services, promoting interoperability and flexibility. ESBs enhance reusability by providing a centralized hub for connecting systems, reducing development time and effort. They contribute to scalability, allowing organizations to adapt and grow their integration capabilities as needed.
28. Name the flow processing strategies in MuleSoft.
MuleSoft offers a range of flow processing techniques to regulate the way integration flows handle messages. “Synchronous” processing, which is appropriate for small-scale interactions, sequentially runs components on the same thread. Scalability is improved by “Queued Asynchronous” processing, which executes parallel operations using a different thread pool. Processing messages in a “non-blocking” manner enables several to be handled simultaneously without having to wait for them to finish.
29. Explain about configuration builder in MuleSoft.
The Configuration Builder in MuleSoft interprets XML configurations, creating runtime objects like connectors and transformers. It plays a central role in initializing the Mule runtime environment based on the specified configuration. This dynamic process ensures proper setup for seamless integration flow execution. The builder orchestrates the creation of Mule components, facilitating effective communication and data processing. Its role is crucial in translating configuration details into operational runtime structures.
30. How do know about Mule’s shared resources?
To make connectors as reusable components, it must be first defined as common resource and then to expose all applications that have been deployed under the same domain. These are called the shared resources. It must be defined inside a Mule Domain Project and has to be referred to every project that is intended to be incorporate elements in it.
Get Experts Curated Mule ESB Certification Course to Build Your SkillsWeekday / Weekend BatchesSee Batch Details
31. Explain Auto-Delete feature in file connector?
By default, auto-delete feature value is zero which means an inbound endpoint deletes a file automatically from the source directory. If source directly files doesn’t need any auto-delete then value must be set to false.
32. Define Batch Jobs in Mule ESB.
A batch job is element in the mule which splits a large messages into the records and processes asynchronously in batch job.
33. What is Scatter-Gather Router?
Scatter-Gather Router is the routing event processor which can send request messages for more than one target concurrency. The Scatter-Gather Router will then collect the responses from all the routes and aggregate back into a one response.
34. What is Choice Router?
Choice Router is the dynamic router which routes messages inflow. The message content is evaluated based on the set of DataWeave expressions.
35. What is VM transport in MuleSoft?
VM transport is the special type of transport which sends the messages by the memory. When the Mule instance runs then messages will never leave a JVM.
36. What are message sources in Mule ESB?
Message sources are the Anypoint connectors, connectivity elements to the specific external source via standard protocols are HTTP, FTP, SMTP or a third-party API like Salesforce.com, Twitter or MongoDB.
37. Define Payload in MuleSoft?
The payload is the runtime variable in MuleSoft which stores arrays or objects. It is wrapped undermule.api.MuleMessage library which helps in getting different means of accessing the payloads under different forms. Mule messages are similar to the SOAP, JMS messages which have the containers properties, header and multiple names attached to it. The main content of a message is called Payload.
38. Explain Mule Transformer?
Mule Transformer is a event instance of org.mule.api.MuleEvent library. This object carries actual context of the message with context of an event. The main purpose is to translate the message from one form to another. It can also create chain of transformers. The message transit occurs between the one medium to another medium while staging into the different services.
39. What is Transport Service Descriptor in Mule?
It is the technical hidden configuration that is used in each instance of connector. It provides the definitions to parameters such as use of particular parameters, classes which are required for the particular message receiver, dispatchers and requests. These definitions are default transformations which are used inbound or outbound and utilizing response of router.
40. Explain endpoint?
An endpoint is the destination shared by many routers in the group which also helps in creating global endpoint. The global endpoint is useful in different places in configuration file but it is not similar for inbound and outbound routing services. The entire endpoint names must be specified during services. These names identify a global endpoint in group of routers.
41. What is Router in a MuleSoft?
The router is the critical service in MuleSoft. It finalises and assigns running territory for the messages to move from a one service to another. The routing is a transitory control processing decided by a router which transits message from one source to another. It is also called as gatekeeper of endpoint services.
42. What is use of Filter in a MuleSoft?
Filters are powerful capabilities for routers that help in making smart decision on message delivery or request and response environment. It also provides insights to router for deciding what to do with messages in the transit stage. Few filters analyse messages deeply to find a actual value for desired outputs.
43. Define Endpoint in MuleSoft.
Endpoint defines a specific usage of a transport protocol in reading message, writing, listening or polling to the target destination. The endpoint control entity ensures the usability of the connectors. The target destination will be defined as URI that depends on connectors which treat destination as URI, URL or JMS.
44. Define Fileage properties in file connector in MuleSoft.
Fileage defines a duration of waiting time of an endpoint that starts before reading a file again. For example, file age of 60000 indicates endpoint that has to wait for 1 minute before start for a next processing.
45. What is streaming property in file connector in MuleSoft?
Streaming properties represent a format of true and false values in the connectors. will be working with the streaming data on connecters if the streaming value is true else will work on a file system if it’s false.
46. How can judge the need for ESB in a project?
To judge the need for an Enterprise Service Bus (ESB) in a project, evaluate the complexity of integration requirements. If the project involves multiple applications, diverse data formats, and complex communication patterns, an ESB can streamline connectivity, enhance interoperability, and simplify maintenance. Consider scalability needs and the potential for future expansion, as ESBs offer a modular and scalable approach to integration.
47. What is polling frequency in file connector in MuleSoft?
When need a new file inbound endpoints to poll direction for reading a new content then you must set polling frequency value to the few milliseconds to achieve this. polling frequency defines a value of tpoll.
48. What is Shared Context?
Shared Context in MuleSoft refers to a mechanism where data and variables can be shared across different elements within a Mule flow. It allows components, such as message processors and transformers, to access and modify shared information during the execution of a flow. This promotes consistency and enables the seamless transfer of data between different stages of processing within the flow, enhancing flexibility and maintainability in Mule applications.
49. What is Correlation Context?
MuleSoft’s Correlation Context mechanism allows related messages to be associated within a flow, which facilitates the tracking and coordination of correlated data. It is especially helpful in situations where messages must be matched or grouped according to certain identifiers in order to ensure that related events in the integration process are properly sequenced and correlated. Correlation Context aids in preserving context over the course of several message exchanges, enabling more logical and well-organized data handling in intricate integration scenarios.
50. How can change t runtime changes using mediation primitive?
Future called Promotable properties in ESB. can configure this future while development. Then can make it changed at runtime without restarting the server it can be published.
Enroll in Best Mule ESB Training and Get Hired by TOP MNCs
- Instructor-led Sessions
- Real-life Case Studies
51. What is Mule UMO?
A Mule UMO is Universal Message Object. UMO is now the legacy term. What was once referred to as a UMO Components are now referred to as Service Components.
52. How to add classes/jars to Mule class path?
You can add classes or JARs to the Mule classpath by placing the required JAR files in your Mule project’s “lib” directory. During runtime, this directory is automatically added to the classpath. As an alternative, JARs can be added to the Mule runtime installation’s “lib/user” directory, where they will be added to the global classpath. Mule also lets you use the “MULE_LIB” environment variable to specify additional directories that hold JARs. Mule will always have access to the necessary classes and dependencies for a successful application execution thanks to this flexibility.
53. What Difficulties Mule Does Encompass?
MuleSoft, like any integration platform, may pose challenges such as a steep learning curve due to its extensive features. Complex configurations and transformations can lead to increased development effort. Ensuring proper error handling and debugging in intricate flows may require careful attention. Additionally, managing version compatibility and updates in a distributed environment can be challenging.
54. Why was Mule Designed?
Mule’s core was designed as the event-driven framework combined with the unified representation of messages, expandable with the pluggable modules. These modules would provide a support for the wide range of transports or add extra features, like distributed transactions, security, or management.
55. What Are Differences Between Mule And Other Commercial Esbs ?
MuleSoft, an open-source ESB, differs from commercial counterparts in cost, support, and proprietary features. Mule offers cost advantages, while commercial ESBs may provide premium support and unique functionalities. The choice depends on project needs, budget, and desired features. MuleSoft’s community support and flexibility make it appealing, while commercial ESBs may excel in enterprise-specific requirements.
56. What Is Model Layer In Mule?
The first logical layer is a model layer. A Mule model represents a runtime environment that hosts services. It defines behavior of Mule when processing requests handled by the services. The model provides services with the supporting features, such as exception strategies. It also provides the services with default values that simplify configuration.
57. What Is Service Layer In Mule?
A Mule service is composed of all Mule entities involved in the processing particular requests in predefined manners. A service is defined by specific configuration. This configuration determines different elements, from the different layers of responsibility that will be mobilized to process requests that it will be open to receive.
58. What Is Transport Layer In Mule?
The transport layer is charge of receiving or sending messages. This is why it is involved with both the inbound and outbound communications. A transport manifests itself in configuration by the following elements: connectors, endpoints and transformers.
59. What Is Connector In Mule?
A connector is charge of controlling the usage of particular protocol. It is configured with the parameters that are specific to this protocol and holds any state that can be shared with underlying entities in charge of actual communications.
60. In MuleSoft, what exactly is batch aggregator?
A Batch Aggregator in the MuleSoft will add a collection of data until it reaches Nth record. The collected data consists of the records called payload, the payload of mule messages processed by Batch Aggregator processor.
61. What is vCore MuleSoft?
It is the unit of computing capability used in processing on a cloud hub. In a single vCore, a maximum of 10 applications can be deployed, and each mule programme will be consume 0.1 vCore.
62. What exactly is DataWeave?
Dataweave is the functional programming language which transforms data. It is the simple and powerful tool in mulesoft, and it has the various functions like command tool and mapping fields graphically.
63. What are MuleSoft deployment options available?
MuleSoft offers multiple deployment options to suit diverse needs. On-premises deployment involves installing Mule runtime on local servers. CloudHub, MuleSoft’s cloud-based integration platform, provides a fully managed and scalable cloud deployment. Hybrid deployments combine on-premises and cloud elements for flexibility.
64. Define AnyPoint Exchange?
AnyPoint exchange is a marketplace for connectors, templates, examples, and APIs it allocates and integrates the assets and resources into apps. Anypoint platform provides with the single point solution. Anypoint exchange offers the many services, including exchange, API data gateway, and runtime manager.
65. How is Reliability achieved in MuleSoft?
Zero message loss in the MuleSoft is considered as Reliability. This is achieved by designing application to capture a state of a running instance, or a process whis is taken up by the another running node in a cluster. Reliable messaging provided by the in-built support of transactions in a transport. Applications may use virtual machine (VM), Java Message Service(JMS), Database (DB)
66. What is Subflow in Mule?
Subflows are the series of reusable actions which are used in flow. Developers are free to create a subflows to perform traditional methods to the specific application. Subflow inputs are present in the subflow, which passes variables to actions. Subflows provide a better performance than referring to flow, and Subflows do not contain event sources.
67. How to compose messages in mulesoft?
Using message processors and transformers inside of a Mule flow is how you compose messages in MuleSoft. Message headers, properties, and content can be altered with the help of message processors like the Set Payload and Enricher. Data within the message is frequently transformed and organized using DataWeave, a potent transformation language. Additionally, the Logger component allows developers to log information during message processing for debugging and monitoring.
68. What is PCE?
PCE is a Platform Private Cloud Edition of Anypoint Platform, often referred to as (Anypoint Platform PCE). With help of PCE, can run and manage Mule applications on the local servers by using security policies.
69. What are all Primitives used in Mediation?
In mediation, several primitives play fundamental roles in MuleSoft integration. The “Set Payload” primitive allows the modification of the message payload, while “Set Variable” and “Remove Variable” primitives manage variables in the message context. “Transform Message” is employed for data transformation using DataWeave, and “Choice” primitives facilitate conditional routing based on specified criteria. The “Enrich” primitive enriches the message with additional data, and “Flow Reference” enables the invocation of another flow within the mediation process.
70. Name the types of Exception Handling in MuleSoft?
- Global Exception Handling.
- Catch Exception Handling.
- Choice Exception Handling.
- Default Exception Handling.
- Rollback Exception Handling.
71. Define Dedicated Load Balancers in MuleSoft.
In Mulesoft, a CloudHub (DLB) Dedicated load balancer is the optional component of the MuleSoft Anypoint Platform. Further, it enables the users to direct outside HTTP and HTTPS traffic to the different Mule apps that operate on a CloudHub workers inside the private cloud (VPC).
72. Define API Manager in AnyPoint Platform.
The API Manager is the Anypoint Platform component that lets manage, regulate, and secure APIs. The runtime uses the two essential tools API Gateway and Anypoint Service Mesh. These tools help to impose the policies, gather and monitor analytics data, control proxies, and authenticate, encrypt and manage apps.
73. What is Rate Limiting and Throttling policies in Mule?
72. What is Rate Limiting and Throttling policies in Mule? The Rate Limiting policy limits how many queries API can accept in the certain amount of time. Further, it will refuse the requests that go beyond limit. In throttling policies, too many requests are put in the queue by the throttling policy to handle later.
74. Define the use of MuleSoft Anypoint Design Center.
In MuleSoft, Anypoint Design Center offers the tools and helpful framework to build the connectors, implement application flows, design APIs, and develop and test simple Mule applications.
75. How is OAUTH 2.0 useful in MuleSoft?
MuleSoft applications can be configured to perform Authentication Managers through OAuth2.0 Provider Module. The application will be able to register and delete clients with this role, as well as the authenticate enrolled clients, issue tokens, and verify tokens during processing of a flow.
76. Define EU Control Pane.
MuleSoft provides the European Union version of Anypoint Platform control plane, allowing to install and manage APIs, apps, and data only within EU. It includes both the MuleSoft data and metadata. All MuleSoft data is stored in EU control plane.
77. How do choose an ESB?
Choosing an ESB involves assessing factors such as integration requirements, scalability, flexibility, and budget constraints. Evaluate whether the ESB aligns with the organization’s technology stack and supports the necessary protocols and connectors for seamless integration with existing systems. Consider scalability for future growth, and assess the level of community support and available documentation. Factor in licensing costs and the need for vendor support.
78. What are multiple grant types in OAut.0?
- Authorization Code
- Implicit Grant
- Resource owner credentials grant
79. Define RAML.
RAML in the MuleSoft refers to RESTful API Modeling Language, similar to the WSDL. It also helps the various clients to understand multiple services and activities to be invoked. Further, it helps more developers to build this basic API structure.
80. What Is TSD in Mule?
TSD or transport service descriptor is the connector used for technical configuration. It defines classes name used for a message receivers, dispatchers, and requesters. This default value can vary to the grasp behaviour of transport.
81. Define multicasting router in MuleSoft.
Multicasting router in MuleSoft sends messages tothe more than one endpoints over different transports. It allows user to moved the same messages across different endpoints.
82. Mention difference between SOAP and REST.
SOAP is a protocol using XML and strict contracts, often over HTTP. REST is an architectural style using standard HTTP methods, typically with JSON, and follows a stateless, resource-oriented approach. SOAP is feature-rich, while REST is simpler, more scalable, and suits stateless applications.
83. What are advantages of logger component?
MuleSoft’s logger component has a number of benefits. With its ability to produce customized messages at various log levels, it helps developers with runtime debugging and real-time monitoring. The ability to log dynamic content and variables with flexibility helps diagnose problems and monitor application behavior by offering insightful information about the data flow. The logger plays a crucial role in increasing visibility so that developers can examine and troubleshoot Mule flow execution in an efficient manner.
84. What is Choice Router?
Choice Router dynamically routes messages using the flow. It is based on the set of DataWeave expressions to evaluate the message content.
85. What is Scatter-Gather Router?
Scatter-Gather Router is most used routing event processor. It can send request message to more than a one target concurrently. This router then collects the responses from all the routes and aggregate back into the one response.
86. What are error types in MuleSoft?
87. What are the features of MUnit?
- In MUnit framework, a developer can create Mule test by using Java code as well as Mule code.
- The programmer can design and test Mule APIs and apps, either in XML or graphically within the Anypoint studio or platform.
- MUnit allows integrating testing into current CI/CD process.
- MUnit offers the auto-generated tests and coverage reports to reduce manual work.
88. What is Mule Runtime?
A runtime engine is used to host and run a Mule applications, is called Mule runtime. This is similar to an application server. Mule runtimes can be provisioned either on premises or also on cloud. A single Mule runtime can host the several Mule applications.
89. How can Code in MuleSoft be optimized for memory efficiency?
- One should not save tpayload into the flow variable. This is because it is more memory consuming element.
- The unnecessary part of document should not be loaded while processing.
- For highly concurrent scenarios, one should use a better database polling.
- Use Dataweave for the transformations
90. What is Subflow in mule?
Using flow-reference element of Mule, we can call a subflow. When sublow is called using the flow-reference element by the main flow, the entire message structure (attachments, payload, properties, etc.) is passed along with context (transactions, session, etc.) Similarly, entire message along with context is returned to main calling flow after processing of message is done in subflow.