繁体   English   中英

Mule 4 Groovy 脚本

[英]Mule 4 Groovy Script

有什么方法可以使用 groovy 调用 mule“流”实例吗? 就像当我使用 groovy 脚本时它会调用另一个流程,这意味着(调用另一个流程 --> 设置变量值并返回结果)。 = 预期行为。

要求:

比如,Mule Flow A独立运行并不断增加变量值。

Mule 流B想要使用 groovy 或 python 脚本访问流A变量(增量值)(仅变量)。

注意:脚本不应执行流A来获取变量值。

有没有像在 groovy 中获取变量实例的方法?

flow=registry.lookupByName('A-flow').getInstance(VariableName)?

// 只需要获取变量值。

调用 Mule 流的 Groovy 脚本:

 import org.mule.runtime.api.message.Message;
 import org.mule.runtime.core.api.event.CoreEvent;
 import org.mule.runtime.core.api.event.EventContextFactory;
 flow=registry.lookupByName('A-flow').grep();
 msg = Message.builder().value(payload).build();
 event =CoreEvent.builder(EventContextFactory.create(flow, org.mule.runtime.dsl.api.component.config.
    DefaultComponentLocation.fromSingleComponent("add-location"))).message(msg).build();
 result =flow.process(event);

Mule 流 B 想要访问流 A 变量,而无需使用 groovy 或 python 脚本部署或启动流 A(因为它独立运行)。

变量存在于Mule Event中,它实际上包含从流触发的执行状态。 然而,即使您获得了所有活动事件的列表,您也可能不知道哪一个是您感兴趣的。 尝试在应用程序中使用 Mule 内部构件也是一种不好的做法。

相反,您应该使用 Mule 的标准方法共享您感兴趣的变量的值,例如对象存储、队列或数据库。 这实际上取决于您要尝试做什么以及您的应用程序的设计什么是最适合的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM