Mule 3.7 / 3.8

时间:2016-06-17 13:56:49

标签: java mule

对于我们的一些流程,我们将有一些输出属性(例如校验和),我们无法通过DataWeave直接生成,因此我们选择使用Java函数计算它们,我们也有可能:

  • 使用Java组件并使用转换器类将结果放在变量上
  • 定义一个全局函数,该函数从类中调用 static 方法并在转换消息组件中使用它

我知道静态方法可能会遇到一些性能问题,因为它们无法进行垃圾回收。这两种选择的优缺点是什么?

1 个答案:

答案 0 :(得分:0)

我认为这取决于功能的复杂性。你可以用Java做任何事情,你可以在全局函数中直接使用MVEL - 不需要调用Java静态方法。

使用全局函数的主要好处是你可以使用MEL / MVEL,因为它具有便利的MVEL功能,如属性导航,折叠/投影等,可以使功能更加简洁,并允许您访问Mule变量/道具/有效载荷很容易使用MEL,如#[flowVars。]。

但我认为如果它是一个非常复杂的功能,那么Java组件可能更易于阅读/维护等。此外,Java组件可能更容易模块化并与其他项目分别共享。

一个可能会带来性能上的好处,但可能会忽略不计,或者您可以对其进行分析以查看性能比较。

相关问题