📅  最后修改于: 2020-11-12 05:03:06             🧑  作者: Mango
脚本模块方便用户使用Mule中的脚本语言。简而言之,脚本模块可以交换以脚本语言编写的自定义逻辑。脚本可以用作实现或转换器。它们可用于表达式评估,即控制消息路由。
Mule具有以下受支持的脚本语言-
实际上,Anypoint Studio带有脚本模块。如果在Mule Palette中找不到模块,则可以使用+ Add Module添加它。添加之后,我们可以在Mule应用程序中使用脚本模块操作。
正如讨论的那样,我们需要将模块拖放到画布中以创建工作区,并在我们的应用程序中使用它。以下是一个例子-
我们已经知道如何配置HTTP侦听器组件。因此,我们将讨论有关配置脚本模块的信息。我们需要按照以下编写的步骤配置脚本模块-
第1步
从Mule Palette中搜索脚本模块,然后将脚本模块的EXECUTE操作拖到您的流程中,如上所示。
第2步
现在,双击执行配置选项卡。
第三步
在常规选项卡下,我们需要在代码文本窗口中提供代码,如下所示-
第4步
最后,我们需要从执行组件中选择引擎。引擎列表如下-
配置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流时对其进行转换,过滤,丰富和处理。
以下是基于功能的M子处理器的类别-
连接器-这些消息处理器发送和接收数据。它们还通过标准协议或第三方API将数据插入外部数据源。
组件-这些消息处理器本质上是灵活的,可以执行以各种语言(例如Java,JavaScript,Groovy, Python或Ruby)实现的业务逻辑。
过滤器-它们过滤消息,并基于特定条件仅允许特定消息继续在流中进行处理。
路由器-此消息处理器用于控制消息流以进行路由,重新排序或拆分。
范围-嘿,基本上,代码段是为了定义流中的细粒度行为而包装的。
变压器–变压器的作用是转换消息有效负载类型和数据格式,以促进系统之间的通信。
业务事件-它们基本上捕获与关键绩效指标相关的数据。
异常策略-这些消息处理器处理消息处理期间发生的任何类型的错误。