我是骆驼的新手。
我有什么: - 在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();
}
感谢你的注意!
答案 0 :(得分:0)
您正在以独立方式运行Camel。当您致电CASE
时,方法不会阻止。这意味着在启动后,会立即调用context.start()
。 Camel关闭,REST服务随之崩溃。
请参阅以下文章:Running Camel standalone and have it keep runninge和running Camel standalone。
使用课程context.stop()
并使用org.apache.camel.main.Main
方法:
来自run javadoc:
使用给定的参数运行此过程,并等待完成,或JVM终止 抛出:
例外