2014-04-14 22 views
0

当收到入站端点文件时,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> 

是否有类似的函数或方法,我们可以做同样的事情用骡子请求者方法。我们需要在流程中间导入一个文件,但文件名没有明确定义。请参阅下面的示例,了解我正在尝试做什么。

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

更新 - 根据安东的回答,我做了以下工作。 在流程之外创建文件: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> 

有资源属性中引用文件:端点元素

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

回答

1

您可以使用一个文件:端点为mulerequester资源:请求。只需resource="myFileEndpointName"

+0

谢谢安东,这工作!请参阅上面的更新。 – EdC