Apache Camel框架之FTP路由

fmms 12年前發布 | 38K 次閱讀 Apache Camel

在做項目集成類型的項目的時候,經常會有這樣的需求,用戶或者別的系統將文件傳到一個FTP server,然后系統從FTP server取文件進行相應的處理.

本文簡單的介紹和示例一個用Camel實現這樣的需求:監聽FTPserver是否有文件,取到文件做相應處理傳到另外一個系統.

Apache Camel框架之FTP路由

1,搭建一個FTP server,從http://sourceforge.net/projects/filezilla/files/ 下載FileZilla安裝,設置一個用戶yorker/123456.

可以參照這個網址 http://xbeta.info/filezilla-server.htm

2,在Camel里實現路由:

        CamelContext context = new DefaultCamelContext();
        context.addRoutes(new RouteBuilder() {
            public void configure() {                         
                from("ftp://localhost/inbox?username=yorker&password=123456").to(
                "file:d:/temp/outbox");
            }
        });
        context.start();
        boolean loop = true;
        while (loop) {
            Thread.sleep(25000);
        }

        context.stop();

這里主要是為了示例Camel對FTP的支持,沒有加入processor的處理,downstream system也僅僅是用放到本地文件夾做示例.不過真正做項目的時候,在to里可以是別的類型,如JMS的queue,別的系統的FTB inbound文件夾,Web service等等.

如何在流程的中間加入processor處理可以參見 http://blog.csdn.net/kkdelta/article/details/7231640

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!