📜  MuleSoft-消息处理器和脚本组件

📅  最后修改于: 2020-11-12 05:03:06             🧑  作者: Mango


脚本模块方便用户使用Mule中的脚本语言。简而言之,脚本模块可以交换以脚本语言编写的自定义逻辑。脚本可以用作实现或转换器。它们可用于表达式评估,即控制消息路由。

Mule具有以下受支持的脚本语言-

  • Groovy
  • Python
  • 的JavaScript
  • 红宝石

如何安装脚本模块?

实际上,Anypoint Studio带有脚本模块。如果在Mule Palette中找不到模块,则可以使用+ Add Module添加它。添加之后,我们可以在Mule应用程序中使用脚本模块操作。

实施实例

正如讨论的那样,我们需要将模块拖放到画布中以创建工作区,并在我们的应用程序中使用它。以下是一个例子-

安装脚本模块

我们已经知道如何配置HTTP侦听器组件。因此,我们将讨论有关配置脚本模块的信息。我们需要按照以下编写的步骤配置脚本模块-

第1步

从Mule Palette中搜索脚本模块,然后将脚本模块的EXECUTE操作拖到您的流程中,如上所示。

第2步

现在,双击执行配置选项卡。

第三步

常规选项卡下,我们需要在代码文本窗口中提供代码,如下所示-

代码文字窗口

第4步

最后,我们需要从执行组件中选择引擎。引擎列表如下-

  • Groovy
  • Nashorn(javaScript)
  • jython(Python)
  • jRuby(Ruby)

配置XML编辑器中上述执行示例的XML如下-


   
      def factorial(n):
         if n == 0: return 1
      return n * factorial(n-1)
      result = factorial(10)
   

讯息来源

与Mule 3消息相比,Mule 4具有简化的模型,这使得跨连接器以一致的方式更轻松地处理数据而不会覆盖信息。在Mule 4消息模型中,每个Mule事件都由两件事组成:消息和与之关联的变量

Mule消息具有有效负载及其属性,其中属性主要是元数据,例如文件大小。

变量保存任意用户信息,例如操作结果,辅助值等。

入站

Mule 3中的入站属性现在变为Mule 4中的属性。众所周知,入站属性存储有关通过消息源获得的有效负载的其他信息,但是现在在Mule 4中是借助属性完成的。属性具有以下优点-

  • 借助属性,我们可以轻松查看哪些数据可用,因为属性是强类型的。

  • 我们可以轻松访问属性中包含的信息。

以下是M子4中典型消息的示例-

入站

出站

Mule 3中的出站属性必须由Mule连接器和传输器明确指定,以便发送其他数据。但是在Mule 4中,可以对每个参数分别使用DataWeave表达式分别设置它们。在主流中不会产生任何副作用。

例如,下面的DataWeave表达式将执行HTTP请求并生成标头和查询参数,而无需设置消息属性。这在下面的代码中显示-


   #[{'path':'input/issues-list.json'}]
   #[{'provider':'memory-provider'}]

讯息处理器

一旦Mule从消息源接收到一条消息,消息处理器便开始工作。 ule子使用一个或多个消息处理器来处理流中的消息。消息处理器的主要任务是在消息通过Mule流时对其进行转换,过滤,丰富和处理。

ule子处理器的分类

以下是基于功能的M子处理器的类别-

  • 连接器-这些消息处理器发送和接收数据。它们还通过标准协议或第三方API将数据插入外部数据源。

  • 组件-这些消息处理器本质上是灵活的,可以执行以各种语言(例如Java,JavaScript,Groovy, Python或Ruby)实现的业务逻辑。

  • 过滤器-它们过滤消息,并基于特定条件仅允许特定消息继续在流中进行处理。

  • 路由器-此消息处理器用于控制消息流以进行路由,重新排序或拆分。

  • 范围-嘿,基本上,代码段是为了定义流中的细粒度行为而包装的。

  • 变压器变压器的作用是转换消息有效负载类型和数据格式,以促进系统之间的通信。

  • 业务事件-它们基本上捕获与关键绩效指标相关的数据。

  • 异常策略-这些消息处理器处理消息处理期间发生的任何类型的错误。