Компонент — это программа, которая имеет некоторую часть логики, которую мы можем использовать в потоке мула. Для компонента мы можем использовать язык программирования, такой как Java, язык выражений, сценарий Java, Python и т. Д.
Создайте поток мула, добавьте к нему конечную точку http с помощью приведенной ниже конфигурации
Хост: localhost
Порт: 8082 (порт должен быть уникальным в потоках)
Создайте класс Java в папке src / main / java проекта mule
public class PrintPayload { public void method1(String args) { System.out.println("String as args"); System.out.println(args); } public void method2(byte[] values) { System.out.println("byte as args"); System.out.println(values); } }
В потоке добавьте Java-компонент, обратитесь к классу PrintPayload в свойстве name: свойства компонента Java.
Добавить строку в преобразователь bytearray
Снова добавьте компонент Java, обратитесь к классу PrintPayload в свойстве имени класса.
Поток будет выглядеть ниже
И поток будет иметь следующую конфигурацию.
<?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"/> </flow> </mule>
Запустите приложение.
В браузере нажмите на ссылку:
HTTP: // локальный: 8082 / имя = кася
вы получите следующий вывод:
String as args /?name=kasi byte as args [B@23a1f067
Mule вызывает соответствующий метод в зависимости от типа полезной нагрузки.