nick856

 

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 实例:

  1. 将文件从指定的源目录拷贝到目的目录,拷贝完之后删除源目录中的文件:
    代码
    <?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>

     

  2. 指定的源目录中拷贝仅匹配通配符的文件到目的目录中

      

 

代码
 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 

 

File Transport其它的一些用法,请参考mule-file.xsd文件。

 

posted on 2009-12-17 00:46  nick856  阅读(901)  评论(0)    收藏  举报

导航