【问题标题】:How to use and extend Mule-EL?如何使用和扩展 Mule-EL?
【发布时间】:2014-09-24 23:56:53
【问题描述】:

最近,我遇到了一些 Mule 文档,似乎我可以使用来自 java 类的更多方法来扩展 MEL。有没有人有这方面的经验以及它是如何工作的?

所以 MEL 会自动导入以下 java 类,以便我们可以在 MEL 中调用它们的方法。希望扩展这个 java 类列表。

MEL 自动导入下面列出的 Java 类。您可以使用这些导入的类而不使用全限定符名称。例如,因为导入了 BigInteger,所以可以写 #[BigInteger.valueOf(payload.dueAmount)] 而不是 #[java.math.BigInteger.valueOf(payload.dueAmount)]。

  • java.lang.*
  • java.io.*
  • java.net.*
  • java.util.*
  • java.math.BigDecimal
  • java.math.BigInteger
  • javax.activation.DataHandler
  • javax.activation.MimeType
  • java.util.regex.Pattern
  • org.mule.api.transformer.DataType
  • org.mule.transformer.types.DataTypeFactory

有关于如何使用额外的 java 类导入等定义全局配置的文档。但我不确定如何准确使用它。

<configuration>
  <expression-language autoResolveVariables="false">
    <import class="org.mule.util.StringUtils" />
    <import name="rsu" class="org.apache.commons.lang.RandomStringUtils" />
    <alias name="appName" expression="app.name" />
    <global-functions file="extraFunctions.mvel">
      def reversePayload() { StringUtils.reverse(payload) }
      def randomString(size) { rsu.randomAlphanumeric(size) }
    </global-functions>
  </expression-language>
</configuration>

您将如何使用上述配置访问 MEL 中的方法?会不会……

<set-variable value="#[appName.reversePayload()]" variableName="reversePayload" doc:name="Variable containing a reverse version of the Payload"/>

【问题讨论】:

    标签: mule mule-studio mule-el mule-component


    【解决方案1】:

    我认为他们没有资格就可以使用。

    <set-variable value="#[reversePayload()]" variableName="reversePayload" doc:name="Variable containing a reverse version of the Payload"/>
    

    【讨论】:

      猜你喜欢
      • 2022-09-27
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      相关资源
      最近更新 更多