Mule 学习系列<二> File Transport
Mule提供一种方式,将某个路径下面的文件传送到某个指定的路径下。这种传输通道就是File Transport.
File Transport提供一系列可配置的属性,来提高它的实用性。
|
属性 |
类型 |
目标 |
描述 |
|
writeToDirectory |
String |
connector, outbound endpoin |
文件输出的目录 |
|
readFromDirectory |
String |
connector, inbound endpoin |
文件输入的目录 |
|
autoDelete |
boolean |
connector, inbound endpoint |
文件传输之后是否删除源文件目录文件 |
|
outputAppend |
boolean |
connector, outboun endpoint |
|
|
pollingFrequency |
long |
connector, inbound endpoint |
每个多长时间传输(以毫秒为单位) |
|
moveToDirectory |
String |
connector, inbound endpoint |
|
|
moveToPattern |
String |
connector, inbound endpoint |
传输文件名模式 |
|
outputPattern |
String |
connector, outbound endpoint |
输出文件名模式 |
|
streaming |
boolean |
connector |
是否把文件做为流处理 |
File Transport 实例:
- 将文件从指定的源目录拷贝到目的目录,拷贝完之后删除源目录中的文件:
代码
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xmlns:file="http://www.mulesource.org/schema/mule/file/2.2"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
http://www.mulesource.org/schema/mule/file/2.2 http://www.mulesource.org/schema/mule/file/2.2/mule-file.xsd">
<file:connector name="fileConnector" streaming="false" pollingFrequency="1000" autoDelete="false">
<file:expression-filename-parser/>
</file:connector>
<model name="fileMode">
<service name="fileService">
<inbound>
<file:inbound-endpoint path="/d:/test/data/snapshot"></file:inbound-endpoint>
</inbound>
<outbound>
<pass-through-router>
<file:outbound-endpoint path="/d:/test/data/archive" outputPattern="#[header:originalFilename]"> </file:outbound-endpoint>
</pass-through-router>
</outbound>
</service>
</model>
</mule> - 指定的源目录中拷贝仅匹配通配符的文件到目的目录中
代码
1 <?xml version="1.0" encoding="UTF-8"?>
2 <mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:spring="http://www.springframework.org/schema/beans"
5 xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
6 xmlns:file="http://www.mulesource.org/schema/mule/file/2.2"
7 xsi:schemaLocation="
8 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
9 http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
10 http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
11 http://www.mulesource.org/schema/mule/file/2.2 http://www.mulesource.org/schema/mule/file/2.2/mule-file.xsd">
12 <file:connector name="fileConnector" streaming="false" pollingFrequency="1000" autoDelete="false">
13 <file:expression-filename-parser/>
14 </file:connector>
15
16 <model name="fileMode">
17 <service name="fileService">
18 <inbound>
19 <file:inbound-endpoint path="/d:/test/data/snapshot">
20 <!--只拷贝后缀名为txt的文件到archive目录中-->
21 <file:filename-wildcard-filter pattern="*.txt"/>
22 </file:inbound-endpoint>
23 </inbound>
24 <outbo
25 <pass-through-router>
26 <file:outbound-endpoint path="/d:/test/data/archive" outputPattern="#[header:originalFilename]"> </file:outbound-endpoint>
27 </pass-through-router>
28 </outbound>
29 </service>
30 </model>
31 </mule>
32
2 <mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:spring="http://www.springframework.org/schema/beans"
5 xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
6 xmlns:file="http://www.mulesource.org/schema/mule/file/2.2"
7 xsi:schemaLocation="
8 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
9 http://www.mulesource.org/schema/mule/core/2.2 http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
10 http://www.mulesource.org/schema/mule/stdio/2.2 http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
11 http://www.mulesource.org/schema/mule/file/2.2 http://www.mulesource.org/schema/mule/file/2.2/mule-file.xsd">
12 <file:connector name="fileConnector" streaming="false" pollingFrequency="1000" autoDelete="false">
13 <file:expression-filename-parser/>
14 </file:connector>
15
16 <model name="fileMode">
17 <service name="fileService">
18 <inbound>
19 <file:inbound-endpoint path="/d:/test/data/snapshot">
20 <!--只拷贝后缀名为txt的文件到archive目录中-->
21 <file:filename-wildcard-filter pattern="*.txt"/>
22 </file:inbound-endpoint>
23 </inbound>
24 <outbo
25 <pass-through-router>
26 <file:outbound-endpoint path="/d:/test/data/archive" outputPattern="#[header:originalFilename]"> </file:outbound-endpoint>
27 </pass-through-router>
28 </outbound>
29 </service>
30 </model>
31 </mule>
32
File Transport其它的一些用法,请参考mule-file.xsd文件。

浙公网安备 33010602011771号