gpt4 book ai didi

java - Mule 3.2 中的分离器

转载 作者:行者123 更新时间:2023-11-30 03:44:51 25 4
gpt4 key购买 nike

我在 Mule 流中使用分离器,如该问题的答案所述:

Mule splitter using regex returned no results

但是,当我尝试在 Mule 3.2 上执行类似操作时,出现以下错误:

来自 URL [file:/...] 的 XML 文档中的第 27 行无效;嵌套异常是 org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:发现以元素“表达式语言”开头的无效内容。 '{"http://www.mulesoft.org/schema/mule/core ":annotations, "http://www.mulesoft.org/schema/mule/core ":default-threading-profile, "http://www.mulesoft.org/schema/mule/core ":default-dispatcher-threading-profile, "http://www.mulesoft.org/schema/mule/core ":default-receiver-threading- 之一配置文件,“http://www.mulesoft.org/schema/mule/core”:default-service-threading-profile,“http://www.mulesoft.org/schema/mule/core”:abstract-reconnection-strategy}'是预期的。 (org.mule.api.lifecycle.InitializationException)

所以,我的问题是:以下元素可以在 Mule 3.2 中使用吗?如果不是,那么在该版本中执行此操作的正确方法是什么?

<configuration>
<expression-language autoResolveVariables="false">
<import class="org.mule.util.StringUtils" />
</expression-language>
</configuration>
<splitter expression="#[StringUtils.split(message.payload, '\n\r')]" doc:name="Splitter" />
<小时/>

编辑

根据 @Ryan Carter 的回答,我使用了以下内容:

<splitter evaluator="groovy" expression="payload.split('\n\r')" doc:name="Splitter" />

这适用于 Mule 3.4,但在 Mule 3.2 上似乎返回一个数组,该数组会引发以下警告和后验错误:

Splitter 仅返回一个结果。如果这不是预期的情况,请检查您的拆分表达式

编辑2

在 Mule 3.2 中,您必须添加 toList() 函数来“拆分”数组,该版本似乎将其视为单个对象。

最佳答案

它在 3.2 架构中不可用:http://www.mulesoft.org/schema/mule/core/3.2/mule.xsd

表达式语言 直到 3.3.x 才添加:http://www.mulesoft.org/schema/mule/core/3.3/mule.xsd

在那之前,您只需完全符合该类(class)的资格即可。即 #[org.mule.util.StringUtils.split(message.payload, '\n\r')]

更新要在 Mule 3.2 中使用分割器,您还需要指定一个“evaluator”属性。在这种情况下,常规评估器可能效果最好:

关于java - Mule 3.2 中的分离器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25995817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com