Учебники

Компоненты обработчика сообщений и скрипта

Модули сценариев облегчают пользователям использование языка сценариев в Mule. Проще говоря, модуль сценариев может обмениваться пользовательской логикой, написанной на языке сценариев. Скрипты могут быть использованы как реализации или преобразователи. Их можно использовать для оценки выражений, т. Е. Для управления маршрутизацией сообщений.

Mule имеет следующие поддерживаемые языки сценариев —

  • Groovy
  • питон
  • JavaScript
  • Рубин

Как установить скриптовые модули?

На самом деле Anypoint Studio поставляется со скриптовыми модулями. Если вы не найдете модуль в палитре мулов, его можно добавить с помощью + Добавить модуль . После добавления мы можем использовать операции модуля сценариев в нашем приложении Mule.

Пример реализации

Как уже говорилось, нам нужно перетащить модуль на холст для создания рабочей области и использовать его в нашем приложении. Ниже приведен пример этого —

Установите скриптовые модули

Мы уже знаем, как настроить компонент HTTP Listener; поэтому мы собираемся обсудить настройку скриптовых модулей. Нам нужно выполнить шаги, описанные ниже, чтобы настроить модуль сценариев —

Шаг 1

Найдите модуль Scripting из Mule Palette и перетащите операцию EXECUTE модуля script в ваш поток, как показано выше.

Шаг 2

Теперь откройте вкладку «Выполнить конфигурацию», дважды щелкнув по ней.

Шаг 3

На вкладке General нам нужно предоставить код в текстовом окне Code, как показано ниже —

Кодовое текстовое окно

Шаг 4

Наконец, нам нужно выбрать Engine из компонента execute. Список двигателей, как показано ниже —

  • Groovy
  • Насхорн (JavaScript)
  • Jython (Python)
  • JRuby (Рубин)

XML приведенного выше примера выполнения в редакторе XML конфигурации выглядит следующим образом:

<scripting:execute engine = "jython" doc:name = "Script">
   <scripting:code>
      def factorial(n):
      if n == 0: return 1
      return n * factorial(n-1)
      result = factorial(10)
   </scripting:code>
</scripting:execute>

Источники сообщений

Mule 4 имеет упрощенную модель, чем сообщение Mule 3, что упрощает согласованную работу с данными через соединители без перезаписи информации. В модели сообщений Mule 4 каждое событие Mule состоит из двух вещей: сообщения и связанных с ним переменных .

Сообщение Mule имеет полезную нагрузку и свои атрибуты, где атрибутом являются в основном метаданные, такие как размер файла.

И переменная содержит произвольную информацию пользователя, такую ​​как результат операции, вспомогательные значения и т. Д.

прибывающий

Входящие свойства в Mule 3 теперь становятся Атрибутами в Mule 4. Как мы знаем, входящие свойства хранят дополнительную информацию о полезной нагрузке, полученной через источник сообщений, но теперь, в Mule 4, это делается с помощью атрибутов. Атрибуты имеют следующие преимущества —

  • С помощью атрибутов мы можем легко увидеть, какие данные доступны, потому что атрибуты строго типизированы.

  • Мы можем легко получить доступ к информации, содержащейся в атрибутах.

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

Мы можем легко получить доступ к информации, содержащейся в атрибутах.

Ниже приведен пример типичного сообщения в Mule 4 —

прибывающий

Исходящий

Исходящие свойства в Mule 3 должны быть явно указаны в соединителях и транспортах Mule для отправки дополнительных данных. Но в Mule 4 каждый из них может быть установлен отдельно, используя выражение DataWeave для каждого из них. Это не вызывает каких-либо побочных эффектов в основном потоке.

Например, ниже выражение DataWeave выполнит HTTP-запрос и сгенерирует заголовки и параметры запроса без необходимости устанавливать свойства сообщения. Это показано в приведенном ниже коде —

<http:request path="M_issue" config-ref="http" method="GET">
   <http:headers>#[{'path':'input/issues-list.json'}]</http:headers>
   <http:query-params>#[{'provider':'memory-provider'}]</http:query-params>
</http:request>

Обработчик сообщений

Как только Мул получает сообщение от источника сообщений, начинается работа обработчика сообщений. Mule использует один или несколько обработчиков сообщений для обработки сообщения в потоке. Основная задача обработчика сообщений заключается в преобразовании, фильтрации, обогащении и обработке сообщения при его прохождении через поток Мула.

Категоризация Мул Процессор

Ниже приведены категории процессора Mule, основанные на функциях —

Соединители — Эти процессоры сообщений отправляют и получают данные. Они также подключают данные к внешним источникам данных через стандартные протоколы или сторонние API.

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

Фильтры — они фильтруют сообщения и позволяют продолжать обработку только определенных сообщений в потоке на основе определенных критериев.

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

Области — эй, в основном, обернуть фрагменты кода с целью определения детального поведения в потоке.

Трансформаторы . Роль преобразователей заключается в преобразовании типа полезной нагрузки сообщения и формата данных для облегчения связи между системами.

Деловые события — они в основном собирают данные, связанные с ключевыми показателями эффективности.

Стратегии исключений — эти обработчики сообщений обрабатывают ошибки любого типа, возникающие при обработке сообщений.