如何在 Mule 4 变量中存储当前日期和消息 ID?
How to store the current date and message id in Mule 4 variable?
就我而言,我正在从 Mule 3 迁移到 Mule 4。
我想将当前日期和消息 ID 存储在 mule 4 变量中。
日期 甲酸盐是 "yyyyMMddHHmmssSSS"
中的当前日期
Message_id是日期++(随机id(大小为6个字符))
mule 3 中的代码:
<set-variable variableName="messageDateF" value="#[server.dateTime.format('yyyyMMddHHmmssSSS')]" doc:name="set messageDateF"/>
<set-variable variableName="messageId" value="#[flowVars.messageDateF]#[UUID.randomUUID().toString().replace('-', '').substring(0,5)]" doc:name="set messageId"/>
预期输出:
20220202024435724ddebd
请帮助我。
你好,在 mule4 中,我们使用 DWL,因此您可以使用转换消息替换 Mule 4 中的代码,并将输出设置为名称为“messageId”的变量
注意:我使用的是 4.4.0 mule 运行时,作为 substring 在 DataWeave 版本 2.4.0 中引入。根据官方文件 link
%dw 2.0
import * from dw::core::Strings
output application/json
var messageDateF = now() as String {format: "yyyyMMddHHmmssSSS"}
var messageId= messageDateF ++ "" ++ substring ((uuid() replace ("-") with ""),0,5)
---
messageId
这相当于 Mule 4.3 的 set-variable。请注意,我只使用了一个变量。如果确实需要,您可以分成两个变量。
<set-variable variableName="messageId" value="#[now() as String {format: "yyyyMMddHHmmssSSS"} ++ (uuid() replace ("-") with "")[0 to 5]]" doc:name="set messageId"/>
就我而言,我正在从 Mule 3 迁移到 Mule 4。
我想将当前日期和消息 ID 存储在 mule 4 变量中。
日期 甲酸盐是 "yyyyMMddHHmmssSSS"
中的当前日期Message_id是日期++(随机id(大小为6个字符))
mule 3 中的代码:
<set-variable variableName="messageDateF" value="#[server.dateTime.format('yyyyMMddHHmmssSSS')]" doc:name="set messageDateF"/>
<set-variable variableName="messageId" value="#[flowVars.messageDateF]#[UUID.randomUUID().toString().replace('-', '').substring(0,5)]" doc:name="set messageId"/>
预期输出:
20220202024435724ddebd
请帮助我。
你好,在 mule4 中,我们使用 DWL,因此您可以使用转换消息替换 Mule 4 中的代码,并将输出设置为名称为“messageId”的变量
注意:我使用的是 4.4.0 mule 运行时,作为 substring 在 DataWeave 版本 2.4.0 中引入。根据官方文件 link
%dw 2.0
import * from dw::core::Strings
output application/json
var messageDateF = now() as String {format: "yyyyMMddHHmmssSSS"}
var messageId= messageDateF ++ "" ++ substring ((uuid() replace ("-") with ""),0,5)
---
messageId
这相当于 Mule 4.3 的 set-variable。请注意,我只使用了一个变量。如果确实需要,您可以分成两个变量。
<set-variable variableName="messageId" value="#[now() as String {format: "yyyyMMddHHmmssSSS"} ++ (uuid() replace ("-") with "")[0 to 5]]" doc:name="set messageId"/>