为什么我们在使用Groovy时使用MEL,或者为什么我们在使用MEL时使用groovy? 两者都用于访问和操作消息。 什么使他们与众不同
答案 0 :(得分:2)
MEL(Mule表达语言)最初是Mules自己的表达语言,它基于MVEL构建,但是丰富了其他特性和功能,可以轻松处理Mule消息,并且具有以下优点:
使用MEL代替脚本语言(例如Groovy或 Java之类的编程语言来操纵 消息对象。使用MEL使您的应用程序更加一致,并且 提供了一种有效且标准化的评估方法 Mule应用程序中的表达式。
MEL是一种表达语言,可提供一致,标准化的 开发人员使用Mule消息的有效负载,属性的方式 和变量。
MEL使用了特定于Mule的上下文对象,您可以使用 自动完成的帮助
评估流程中表达式的好工具
最重要的是,MEL在访问信息时强制保持一致性 在M子消息中:不是使用多个表达式求值器, 您可以使用默认表达式评估器MEL来保持一致 访问和操纵信息。
MEL表达式在消息处理器中起作用,以修改 处理器对消息进行处理,例如路由或过滤。
但是,在Mule 4中,不推荐使用MEL,而推荐使用Dataweave,Mules转换语言。基本上,他们决定了使用两种独立的语言进行转换和路由等的意义。因此,Mule 4允许您使用Dataweave进行路由,以及更多。
Mule 4仍然支持脚本语言,包括groovy。
IMO,最佳做法是对所有路由和消息操作使用MEL(第3项)或Dataweave(第4项),并且仅将脚本语言或Java组件真正用于业务逻辑或无法完成或不容易实现的非常复杂的逻辑否则完成。