当接收到入站端点文件时,mule 让我们定义一个正则表达式过滤器来确定它是否是正确的文件。
<file:inbound-endpoint responseTimeout="10000" doc:name="File" path="${Inbound_Path}" pollingFrequency="${PollingFrequency}" connector-ref="nameConnector">
<file:filename-regex-filter pattern="BOB\d+\.FILE" caseSensitive="true"/>
</file:inbound-endpoint>
是否有类似的功能或方法,我们可以用 mule requester 方法做同样的事情。我们需要在流程的中间导入一个文件,但文件名没有具体定义。请参阅下面的示例,了解我正在尝试做的事情。
<mulerequester:request config-ref="muleRequesterConfig" resource="file://${Inbound_Path}/<want to add a regex to define the relative file name>?connector=nameConnector" doc:name="Mule Requester"/>
基本上,我们不知道确切的文件名,因为每次将入站文件存储到文件系统中时都会加上时间戳。这使得很难为 mule 应用程序提供特定的文件地址。
有谁知道我们是否可以使用一些类似的正则表达式过滤器功能来反映文件的功能:filename-regex-filter for mule requester。
更新- 根据安东的回应,我做了以下事情。在流程之外创建了 file:endpoint 元素。
<file:endpoint doc:name="File" name="File_Name" path="Inbound_Path" responseTimeout="10000" connector-ref="FileConnector">
<file:filename-regex-filter pattern="BOB\d+\.FILE" caseSensitive="true"/>
</file:endpoint>
资源属性是否引用了 file:endpoint 元素
<mulerequester:request config-ref="muleRequesterConfig" resource="File_Name" doc:name="Mule Requester"/>