Over a million developers have joined DZone.

Mule Dismantle, Component Mule Example

DZone 's Guide to

Mule Dismantle, Component Mule Example

· Integration Zone ·
Free Resource

The component is program that has some part of logic which we can use in mule flow. We can use programming language like java, Expression language, java script, python etc., for a component.

Create a mule flow, add http end point to it, with the below configuration

Host: localhost

Port: 8082(port should be unique in the flows)

Create a java class inside src/main/java folder of the mule project

public class PrintPayload {
     public void method1(String args) {
         System.out.println("String as args");
     public void method2(byte[] values) {
         System.out.println("byte as args");

In the flow add a java component, refer the PrintPayload class in the class name: property of the java component.

Add string to bytearray transformer

Again add the java component, refer the PrintPayload class in the class name property.

The flow will look like below

And the flow will have the below configuration.

<?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:spring="http://www.springframework.org/schema/beans" version="EE-3.5.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
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">
      <flow name="ComponentFlow1" doc:name="ComponentFlow1">
          <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8082" doc:name="HTTP"/>
          <component class="com.classes.PrintPayload" doc:name="Java"/>
          <string-to-byte-array-transformer doc:name="String to Byte Array"/>
          <component class="com.classes.PrintPayload" doc:name="Java"/>

Run the application.

In the browser hit the url:


you will get the following output:

String as args


byte as args


Mule calls the appropriate method based on payload type.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}