需求:做一个windows服务,实现从ftp服务器实时下载或者更新文件到本地磁盘。
功能挺简单的。直接写个ftp工具类用定时器跑就能搞定,那我为什么不用呢?
别问,问就是我无聊啊,然后研究一下flume打发时间。哈哈~
一、flume部分
source组件和sink组件用的都是第三方。
source组件:
sink组件用的谁的目前已经找不到了,网上搜到了一个升级版的。
sink组件:
因为一些个性化的需求,所以我对他们源代码做了些变动。
ftp-source组件的关键技术是apache ftpclient,而taildir-sink则用的randomaccessfile。
junit测试类我已经写好了,如果不想安装服务又有兴趣了解的朋友,可以自己改下配置跑一下看看。
package com.syher.flume;
import com.google.common.collect.lists;
import com.urey.flume.sink.taildir.saferollingfilesi