300.7. sample
Camel 2.7 부터 Spring 웹 애플리케이션에서 Servlet 을 사용하는 것이 더 쉽습니다. 자세한 내용은 Servlet Tomcat 예제 를 참조하십시오.
이 샘플에서는 http://localhost:8080/camel/services/hello 에서 HTTP 서비스를 노출하는 경로를 정의합니다.
먼저 일반 웹 컨테이너 또는 OSGi 서비스를 통해 CamelHttpTransportServlet 을 게시해야 합니다. Web.xml
파일을 사용하여 CamelHttpTransportServlet 을 다음과 같이 게시합니다.
그런 다음 다음과 같이 경로를 정의할 수 있습니다.
camel-servlet 끝점의 상대 경로 지정
HTTP 전송에 게시된 서블릿과 바인딩하고 서블릿의 애플리케이션 컨텍스트 경로를 모르는 경우 camel-servlet
끝점은 상대 경로를 사용하여 끝점의 URL을 지정합니다. 클라이언트는 서블릿 게시 주소( ("http://localhost:8080/camel/services") + RELATIVE_PATH("/hello")
를 통해 camel-servlet
엔드포인트에 액세스할 수 있습니다.
300.7.1. Spring 3.x를 사용할 때 샘플 링크 복사링크가 클립보드에 복사되었습니다!
Servlet Tomcat 예제 를 참조하십시오.
300.7.2. Spring 2.x를 사용할 때 샘플 링크 복사링크가 클립보드에 복사되었습니다!
Camel/Spring 애플리케이션에서 Servlet 구성 요소를 사용하는 경우 서블릿 구성 요소가 시작된 후 Spring ApplicationContext를 로드해야 하는 경우가 많습니다. 이 작업은 ContextLoaderListener
대신 Spring의 ContextLoaderServlet
을 사용하여 수행할 수 있습니다. 이 경우 다음과 같은 CamelHttpTransportServlet 후 ContextLoaderServlet
을 시작해야 합니다.
300.7.3. OSGi를 사용할 때 샘플 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.6.0 에서 다음과 같이 CamelHttpTransportServlet 을 OSGi 서비스로 게시할 수 있습니다.
그런 다음 Camel 경로에서 이 서비스를 다음과 같이 사용합니다.
Camel 2.6 이전 버전의 경우 활성화
기를 사용하여 OSGi 플랫폼에 CamelHttpTransportServlet 을 게시할 수 있습니다.
300.7.4. Spring-Boot 사용 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.19.0 이후부터 camel-servlet-starter 라이브러리는 /camel/*
컨텍스트 경로에 있는 나머지 모든 엔드포인트를 자동으로 바인딩합니다. 다음 표에는 camel-servlet-starter 라이브러리에서 사용할 수 있는 추가 구성 속성이 요약되어 있습니다. Camel 서블릿의 자동 매핑도 비활성화할 수 있습니다.
Spring-Boot 속성 | Default | 설명 |
---|---|---|
camel.component.servlet.mapping.enabled |
| 서블릿 구성 요소를 Spring 웹 컨텍스트에 자동 매핑 가능 |
camel.component.servlet.mapping.context-path |
| 자동 매핑을 위해 서블릿 구성 요소에서 사용하는 컨텍스트 경로 |
camel.component.servlet.mapping.servlet-name |
| Camel 서블릿의 이름 |