2011-10-10 27 views
0
  1. 我現在開始與駱駝。我正在嘗試創建路由,以便從文件組件處理文件並傳遞到http tomcat服務器。
  2. 我已創建的路線如下

:。爲( 「HTTP://本地主機:8080/myServer上/」)( 「文件的收件箱空操作=假?」);無法接收Http生產者的文件(tomcat服務器)

我用我的IP地址來代替本地主機的

  1. 我沒有得到在運行任何編譯錯誤,也不該文件正從收件箱文件夾處理,但我不能接受也試着myServer目錄中的文件。
  2. 我使用的駱駝版本是2.0.0。
+0

您確定您在端口8080上接受了在'/ myServer' URL處接受輸入的內容嗎? –

+0

是的,我的tomcat服務器運行在同一個端口,我打包在服務器上部署myServer應用程序。 其實我的要求是,我需要創建一個http生產者,它可以使用apache-camel發送文件到http服務器。 –

+0

您是否在訪問日誌中看到/ myServer的任何請求?使用這種類型的路由發送文件的協議是什麼? –

回答

0

是的,這應該工作...你應該使用最新版本的駱駝雖然目前(2.8.2)...這裏是一個簡單的單元測試,以顯示文件 - > HTTP在行動......

import org.apache.camel.builder.RouteBuilder; 
import org.apache.camel.test.junit4.CamelTestSupport; 
import org.junit.Test; 

public class FileToHttpRouterTest extends CamelTestSupport { 

    @Test 
    public void test() throws Exception { 
     Thread.sleep(1000); 
    } 

    @Override 
    protected RouteBuilder createRouteBuilder() throws Exception { 
     return new RouteBuilder() { 
      @Override 
      public void configure() throws Exception { 
       from("timer://foo?fixedRate=true&period=200") 
        .setBody(simple("${exchangeId}")) 
        .to("file://tmp/inbox"); 

       from("file://tmp/inbox") 
        .to("http://localhost:9000/myTest"); 

       from("jetty:http://localhost:9000/myTest") 
        .log("received: ${body}"); 
      }; 
     }; 
    } 
}