用于mule请求者的正则表达式过滤器来定义相对资源名称

时间:2014-04-14 12:27:55

标签: regex mule mule-studio mule-el

当收到入站端点文件时,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请求方法执行相同的操作。我们需要在流程中间导入文件,但文件名没有特别定义。请参阅下面的示例,了解我要做的事情。

<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。

更新 - Per Anton的回复,我做了以下事情。 在流程之外创建了文件: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>

资源属性是否引用了文件:endpoint element

<mulerequester:request config-ref="muleRequesterConfig" resource="File_Name" doc:name="Mule Requester"/>

1 个答案:

答案 0 :(得分:1)

您可以使用file:endpoint作为mulerequester:request的资源。只需resource="myFileEndpointName"