打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
Mule 3.x 中对 Ftp 协议的支持
开心豆豆2010
>《技术》
2010.12.09
关注
1. 前言
一直都听说 Mule 对 Ftp 和 Http 协议的支持很好,于是就关注了一下。
Mule 通过一系列的配置文件的配置就可以完成对 Ftp 服务器的下载和上传 ,这个还是很神奇的。
但是可惜的是, Mule 本身并不支持 FtpS 协议,只支持 SFTP ,这样对于工业级的使用上,未免有点不方便 。
2. Mule 3.x 的基本知识
Mule 是一个开源的 ESB 软件,基本概念如下:
http://tech.ddvip.com/2010-05/1274838569154227.html
Mule 3.X 中对 Ftp 的支持是通过 < ftp:connector> 等标签实现的,具体的官方信息如下:
http://www.mulesoft.org/documentation/display/MULE3USER/FTP+Transport
在 Mule 3.x 中,运行 config.xml 的方法如下:
a. 在 app 目录下新建一个目录,比如 test-ftp
b. 将写好的 config.xml 拷贝到 test-ftp 下,并且取名为 mule-config.xml
c. 在 bin 目录下,运行 CMD 如下
Mule –app test-ftp
3. Mule 3.x 中 ftp 支持的方法
a. 从 ftp 服务器上下载文件的方法
<? xml version = "1.0" encoding = "UTF-8" ?>
< mule xmlns = "http://www.mulesoft.org/schema/mule/core"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring = "http://www.springframework.org/schema/beans"
xmlns:http = "http://www.mulesoft.org/schema/mule/http"
xmlns:vm = "http://www.mulesoft.org/schema/mule/vm"
xmlns:ftp = "http://www.mulesoft.org/schema/mule/ftp"
xmlns:file = "http://www.mulesoft.org/schema/mule/file"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/3.0/mule-http.xsd
http://www.mulesoft.org/schema/mule/vm
http://www.mulesoft.org/schema/mule/vm/3.0/mule-vm.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/3.0/mule-file.xsd
http://www.mulesoft.org/schema/mule/ftp
http://www.mulesoft.org/schema/mule/ftp/3.0/mule-ftp.xsd
" >
<!--
连接 FTP 服务器的连接器
-->
< ftp:connector name = "ftpConnector" binary = "true"
validateConnections = "true" />
< model name = "ftp-model" >
< service name = "ftp-reader" >
<!--
连接 FTP 服务器的入口节点,在这里配置 ftp 的 ip ,账户和密码
利用 file:filename-wildcard -filter 确认只下载 xml 文件
-->
< inbound >
< ftp:inbound-endpoint user = "zhany" binary = "true" path = ""
password = "zhany" host = "192.168.120.33" port = "21"
pollingFrequency = "10000" connector-ref = "ftpConnector"
>
< file:filename-wildcard-filter
pattern = "*.xml" />
</ ftp:inbound-endpoint >
</ inbound >
<!--
连接 FTP 服务器的出口节点,在这里配置地址,将文件下载到 e:/out 目录下
同时利用 outputPattern ,定义下载的文件和源文件同名同类型
-->
< outbound >
< pass-through-router >
< file:outbound-endpoint path = "/e:/out" outputPattern = "[header:originalFilename]" />
</ pass-through-router >
</ outbound >
</ service >
</ model >
</ mule >
b. 上传文件到 ftp 服务器上的办法
<? xml version = "1.0" encoding = "UTF-8" ?>
< mule xmlns = "http://www.mulesoft.org/schema/mule/core"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns:spring = "http://www.springframework.org/schema/beans"
xmlns:http = "http://www.mulesoft.org/schema/mule/http"
xmlns:vm = "http://www.mulesoft.org/schema/mule/vm"
xmlns:ftp = "http://www.mulesoft.org/schema/mule/ftp"
xmlns:file = "http://www.mulesoft.org/schema/mule/file"
xsi:schemaLocation = "
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/3.0/mule-http.xsd
http://www.mulesoft.org/schema/mule/vm
http://www.mulesoft.org/schema/mule/vm/3.0/mule-vm.xsd
http://www.mulesoft.org/schema/mule/file
http://www.mulesoft.org/schema/mule/file/3.0/mule-file.xsd
http://www.mulesoft.org/schema/mule/ftp
http://www.mulesoft.org/schema/mule/ftp/3.0/mule-ftp.xsd
" >
<!--
传输文件的连接器
-->
< file:connector name = "fileConnector" pollingFrequency = "6000" />
<!--
连接 ftp 服务器的连接器
-->
< ftp:connector name = "ftpConnector" />
< model name = "model" >
< service name = "service" >
< inbound >
<!--
利用 fileConnector 读取 e:/tmp 下的文件
-->
< file:inbound-endpoint path = "/e:/tmp"
connector-ref = "fileConnector" >
</ file:inbound-endpoint >
</ inbound >
< outbound >
<!--
利用 ftpConnector 将文件传输到 ftp 服务器上,这里配置了服务器的 ip 和账户密码
-->
< pass-through-router >
< ftp:outbound-endpoint host = "192.168.120.33"
port = "21" user = "zhany" password = "zhany" path = "" connector-ref = "ftpConnector" />
</ pass-through-router >
</ outbound >
</ service >
</ model >
</ mule >
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
【热】
打开小程序,算一算2024你的财运
JavaRoots: How to Secure Rest Services in Mule 3
Spring Integration
@Service注解使用
spring security 3.1配置过程从简单到复杂详细配置
applicationContext 中 xmlns 与 xsi:schemaLocation 含义
xml、schema、xsd
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×