apache camel을 사용하여 휴식 서비스를 개발하려고합니다. 내 프로젝트는 바람둥이에 배치 된 봄 MVC 전쟁입니다.Apache Camel + Spring (war) + Tomcat + REST
아파치 cxf (cxf servlet)을 사용하고 싶지 않습니다.
public class SampleRouter extends RouteBuilder {
@override
public void configure() throws Exception {
from("cxfrs://http://localhost:1234/sample")
.process (new Processor() {
public void process(Exchange exchange) throws Exception {
System.out.println("test");
}
})).setBody(constant("SUCCESS"));
}
}
@Path("/sample")
public class SampleResource {
@GET
public void test() {
}
}
web.xml에는 dispatcherservlet, contextloaderlistener가 있습니다. 어노테이션 drivem 컨텍스트 :
운영자-servlet.xml 파일은 MVC 갖는 성분을 주사
<camelContext id="server" trace="true" xmlns="http://camel.apache.org/schema/spring">
<contextScan />
</camelContext>
의 pom.xml 낙 코어, 낙타 CXF, 낙타 스트림 CXF-RT-전송을 갖는다 -http-jetty, cxf-rs-frontend-jaxrs, camel-spring, spring-webmvc, spring-web, spring-context 등이 있습니다.
Tomcat은 8080에서 실행되며 서버가 시작될 때 예외가없는 것으로 보입니다. 그러나 URL (http://localhost:1234/sample
)을 치려고했는데 아무 것도 일어나지 않는 것 같습니다.
내가 무엇이 누락 되었습니까? 결국 인증, 필터 및 인터셉터를 사용하여이를 스프링 DSL 또는 REST에서 REST로 Java DSL로 확장했다.
나는 또한 cxf : rsServer를 시도하고 라우터 클래스에서 이것을 언급했다.
또한 미래에는 http 대신 https를 사용해야합니까? 또는 어떻게 하드 코딩되지 않은 URL을 가지고 있습니까?
내가 말했듯이, 나는 CXF Servlet이나 Camel Servlet을 사용하지 않고있다. 또한 Tomcat에 배포하고 있습니다. cxf : rsServer xml config에 구성된 포트는 tomcat이 8080에서 실행되는 반면 12335입니다. 서블릿을 사용하지 않고 tomcat에 배포 할 수 있는지 확인하고 싶습니다. 또한, 내가 왜 서버보다 서비스를위한 다른 포트를 구성 할 필요가 있고 어떻게 작동 할 지 확신 할 수 없다. 또한 내가 왜 바람둥이를 사용하고 있지만 cxf-jetty jar를 포함시켜야합니까? –
도움을받을 수 있습니까? –
서블릿 전송을 사용하지 않고 webservce를 게시 할 수 있습니다. 이 경우 cxf-rt-http-jetty jar 파일이 클래스 경로에 있는지 확인해야합니다. –