Различные типы потоков в муле

Различные типы потоков в муле

1. Вступление

Mule - это продукт на основе Java, который предоставляет решения для корпоративных сервисных шин (ESB). Мы можем разрабатывать приложения Mule, используяAnypoint Studio, плагин Eclipse.

После краткого введения в ESB и потокиwe’ll talk about the different types of flows in Mule, and where we use each type.

2. Enterprise Service Bus (ESB)

An ESB is a mediating layer connecting independent pieces of software. Эти приложения часто используют разные протоколы. Следовательно, ESB позаботится о преобразовании и маршрутизации данных. Это позволяет создавать разделенные сервисы. Следовательно, каждому сервису не нужно беспокоиться о том, как другой сервис будет использовать свой вывод.

Задача ESB - убедиться, что данные имеют правильный формат. Мы можем найти более подробную информацию о Mule ESB вour previous tutorial.

Components - это строительные блоки приложения Mule. Таким образом, именно эти компоненты отвечают за преобразование и маршрутизацию данных. Мы добавляем компоненты в приложение Mule изMule Palette в правой части Anypoint Studio:

image

Далее компоненты группируются вflows. Приложение Mule состоит из одного или нескольких потоков.

3. Что такое поток?

Поток - это связанный набор компонентов Mule.

Обычно он состоит из компонента входящей конечной точки (откуда исходит сообщение) и компонента исходящей конечной точки. Therefore, the flow is responsible for the various processing stages in which the message may undergo.с

С каждым потоком может быть связанprocessing strategy, а такжеexception handling strategy. Поток также может ссылаться на другой поток, используяflow reference component.

В Муле есть три различных типа потоков:

  • Подпотоки - синхронный поток, наследующий стратегию обработки и обработки исключений родительского потока

  • Синхронные потоки - синхронный поток с его стратегией обработки и обработки исключений

  • Асинхронные потоки - асинхронный поток с его стратегией обработки и обработки исключений

4. Подпотоки

Мы используем подпотоки для группировки общей логики. Subflows are processed synchronously; то есть выполнение вызывающего потока останавливается до завершения подпотока.

В частности, мы можем добавить подпоток из палитры мулов:

image

Подпоток вызывается с использованиемflow reference component:

image

Кроме того,subflows inherit the processing strategies and exception handling strategies of the calling flow.  Мы можем вызывать подпоток из нескольких разных потоков. Если бы мы не хотели наследовать эти стратегии, мы могли бы вызвать синхронный поток.

5. Синхронные потоки

Подобно подпотокуa synchronous flow is also processed synchronously.  Это означает, что когда мы вызываем синхронный поток, он должен завершиться до того, как родительский поток возобновит свое выполнение.

Мы добавляем синхронные потоки в наше приложение Mule, добавляя регулярные потоки; отсутствует компонент «синхронный поток». Добавляем обычныйflow component:

image

Чтобы вызвать синхронный поток, мы снова используемflow reference component:

image

В отличие от подпотока, он не наследует стратегии обработки и обработки исключений вызывающего потока. Следовательно, стратегии обработки и обработки исключений вызывающего потока не влияют на поведение этого типа потока.

По этим причинам этот тип потока идеально подходит для обработки транзакций, поскольку сообщения, обработанные с использованием синхронных потоков, выполняются в одном потоке.

6. Асинхронные потоки

Асинхронные потоки выполняются параллельно вызывающему потоку; т.е.they are processed asynchronously.

Мы добавляем асинхронные потоки в приложение Mule таким же образом, как мы добавляем синхронные. Итак, что делает поток асинхронным, так это то, что мы вызываем его из асинхронной области. Мы можем сделать это, заключивflow reference component вasync component:

image

Подобно синхронным потокам - они не наследуют стратегии обработки и обработки исключений вызывающего потока.

Кроме того, сообщения, обрабатываемые с использованием асинхронных потоков, выполняются в нескольких потоках, что делает этот тип потока идеальным для выполнения трудоемких задач, таких как отправка электронной почты или выполнение операций ввода-вывода.

7. Заключение

В этом коротком уроке мы обсудили характеристики различных типов потоков в Муле.

Для получения дополнительной информации посетитеthe official Mule website.