2011-10-10 1 views
0
  1. 이제 Camel부터 시작하겠습니다. 파일 구성 요소에서 파일을 처리하고 http tomcat 서버로 전달하는 경로를 작성하려고합니다. 에서

다음과 같이 HTTP 프로듀서 (tomcat 서버)에서 파일을 수신 할 수 없습니다.

  • 나는 경로를 만들었습니다 .TO ("통해 http : // localhost : 8080 /이 myServer /") ("파일받은 편지함을 조작 불능 = 거짓?");

    나는 또한 로컬 호스트 대신에

    1. 내가 런타임에 어떤 컴파일 오류도받지 오전 파일이받은 편지함 폴더에서 처리지고 있지만 수신 할 수없는 나는 내 IP 주소를 사용하여 시도 myServer 디렉토리에있는 파일.
    2. 내가 사용하는 카멜 버전은 2.0.0입니다.
  • +0

    '/ myServer' URL에 입력을 허용하는 포트 8080에서 수신 대기중인 것이 있습니까? –

    +0

    예 my tomcat 서버가 동일한 포트에서 실행 중이고 myServer 어플리케이션을 서버에 전개 할 수 없습니다. 사실 내 요구 사항은 apache-camel을 사용하여 http 서버에 파일을 보낼 수있는 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}"); 
          }; 
         }; 
        } 
    } 
    
    관련 문제