mule - 如何在 Mule 工作流程中获取当前日期
问题描述
我希望在工作流程中获取当前日期,以便可以将其附加到我正在写入文件夹的文件名中。
当我环顾四周时,我只能看到如何在 dataweave 中执行此操作,但这看起来不适用于 dataweave 之外的其他组件的配置。
我怎样才能做到这一点?
谢谢
解决方案
在 Mule 3 中,您可以使用 DataWeave 轻松完成并将其分配给变量或有效负载,尽管 XML 比 utechtzs 的答案中的 MEL 表达式更冗长。
作为如何使用日期创建文件名并将字符串分配给变量的示例:
<dw:transform-message doc:name="Transform Message">
<dw:set-variable variableName="filename"><![CDATA[%dw 1.0
%output application/java
---
"myfile-" ++ (now as :string {format: "yyyyMMddHHmmssSSS"})]]>
</dw:set-variable>
</dw:transform-message>
<logger level="INFO" doc:name="Logger" message="#[flowVars.filename]"/>
在 Mule 4 中,DataWeave 替换了表达式中的 MEL,您可以直接使用它。例子:
#["myfile-" ++ (now() as String {format: "yyyyMMddHHmmssSSS"})]
两个示例都返回相同的 Java 字符串。例子:"myfile-20181117150935499"
推荐阅读
- python - 我希望“编辑”按钮打开一个新窗口,然后能够编辑显示屏上的值
- vue.js - vue.config.js [transpileDependencies] 不起作用
- c - 使用 c 宏生成函数名
- python - Pandas:重复列值 n 次并滚动未来日期
- types - 朱莉娅: ceil/floor 可以返回一个整数吗?
- batch-file - 如何从批处理文件(parent.bat)执行批处理脚本(child.bat)?原始问题(C# 以编程方式在 Venv 中运行 Pip 安装)
- scrollview - 斯巴达克斯店面| 向下滚动结果列表然后单击产品后,返回结果时应记住位置
- vue.js - Vuejs 在`npm run serve` 后显示空白页并使用 IIS 设置
- java - jsp/servlet eclipse 项目中上传的文件(jpg/pdf 等)未在文件夹中打开
- javascript - 动画多读/少读略显