我正在从 FTP 下载文件。我能够下载具有定义模式或定义名称的文件,然后通过 Java 处理这些文件。
我面临的问题是我需要每周下载一个新文件。文件名类似于"constant-prefix-2013-W51.zip"
. 我现在的 XML 是这样的;
<ftp:inbound-endpoint
host="${ftp.host}"
port="${ftp.port}"
path="${ftp.pathInbound}"
user="${ftp.user}"
password="${ftp.password}"
responseTimeout="10000"
doc:name="KBB_FTP" >
<file:filename-wildcard-filter pattern="MyFile-2013-W51.zip"/>
</ftp:inbound-endpoint>
流程参考:Mule:如何将文件从 FTP 传递到 Mule ESB 中的 Java 类?
此代码成功下载请求的文件。但我需要在文件模式中动态添加year
and值。week
我尝试了以下模式但没有成功;
1. pattern="MyFile-2013-W#[server.dateTime.weekOfYear].zip"
2. pattern="MyFile-2013-W${server.dateTime.weekOfYear}.zip"
我知道第二种模式是完全错误的,因为它不是.properties
文件中定义的属性。我还在 mule-app.properties 中添加了一个属性,如下所示
calendar.weekOfYear=#[server.dateTime.weekOfYear]
并使用以下模式;
3. pattern="MyFile-2013-W${calendar.weekOfYear}.zip"
这种方式都不起作用,我想动态添加年份值2013
和周值51
,这在任何情况下都不会发生。附加到 fileName 的值仅在字符串模式之上,而不是任何数字..