休息骆驼和mongodb之间的关系

时间:2017-08-28 22:10:27

标签: mongodb rest apache-camel

我是骆驼的新手。

我有什么:      - 在tomcat上部署的rest应用程序      - mongodb

我想做什么:

我想将来自rest app的请求发送给camel和camel发送请求到mongodb然后camel发送响应给其余应用程序。 (请求休息 - > camel - > mongodb,响应mongodb-> camel->休息)

我无法找到有关它的信息。

我怎么能这样做?

我的Rest课程

    @Path("/leave")
public class Leave {

    @GET
    @Path("/all")
    @Produces("application/json")
    public String getLeaveRequestList(){
        return "{\"status\":200}";   
    }}

我的路线

public class CamelRouteConfig extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        restConfiguration().host("localhost").port(8080);
        rest("/leave")
                .post("/all")
                .consumes("application/json")
                .to("stream:out");
    }
}
它什么都不做。为什么? - 我不知道

contex方法

CamelRouteConfig routeConfig = new CamelRouteConfig();
        CamelContext context = new DefaultCamelContext();
        try {
            context.addRoutes(routeConfig);
            context.start();
        }finally {
            context.stop();
        }
感谢你的注意!

1 个答案:

答案 0 :(得分:0)

您正在以独立方式运行Camel。当您致电CASE时,方法不会阻止。这意味着在启动后,会立即调用context.start()。 Camel关闭,REST服务随之崩溃。

请参阅以下文章:Running Camel standalone and have it keep runningerunning Camel standalone

使用课程context.stop()并使用org.apache.camel.main.Main方法:

  

来自run javadoc
  使用给定的参数运行此过程,并等待完成,或JVM终止   抛出:
    例外