2

我有一个 Mule 应用程序正在出站端点中写入文件,配置如下:

<file:outbound-endpoint path="${Outbound}" outputPattern="outputFile_#[function:datestamp:yyyyMMddHHmmss].csv" doc:name="Output File"/>

在流程中的这一点之后,我需要按照“成功创建文件 {filename}”的行显示一条日志消息。

我遇到的问题是我找不到显示刚刚创建的文件名称的方法。我可以说: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" />
4

1 回答 1

0

我不知道 mule,但是当我在编程时遇到这样的问题时,我将生成的文件名存储在一个变量中,然后使用该变量实际创建文件并显示消息。

在伪代码中:

var filename = #yyyymmddhhMMss.csv
create_file(filename)
log_message(filename + ' successfully created')
于 2014-04-16T11:08:17.083 回答