我有一个Mule应用程序正在出站端点中编写文件,其配置如下:
<file:outbound-endpoint path="${Outbound}" outputPattern="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" doc:name="Output File"/>
在流程中的这一点之后,我需要在&#34;成功创建文件{filename}&#34;。
的行中显示一条日志消息。我遇到的问题是我无法找到显示我刚刚创建的文件名称的方法。我可以放Successfully created file outputFile_#[function:datestamp:yyyyMMddHHmmss].csv
,但日期戳有可能相差一秒。
我可以在Mule中显示我刚写过的文件的名称吗?
更新
根据@til_b的回复,我使用以下方法实现了这一目标:
<set-variable value="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" variableName="Filename" doc:name="Variable"/>
<file:outbound-endpoint path="${Outbound}" outputPattern="#[variable:Filename]" doc:name="Output File"/>
<logger level="INFO" message="Successfully created file #[variable:Filename]" doc:name="Logger" />
答案 0 :(得分:1)
我不知道骡子,但是当我在编程时遇到这样的问题时,我将生成的文件名存储在变量中,然后使用该变量实际创建文件并显示消息。
在伪代码中:
var filename = #yyyymmddhhMMss.csv
create_file(filename)
log_message(filename + ' successfully created')