我正在尝试在Wildfly Swarm中设置Camel Rest服务,我不确定RouteBuilder
类是如何实例化的,甚至不知道如何实例化CamelContext
。我已经下载了Wildfly Swarm示例并查看了Camel CXF-JAXRS项目,这是有道理的,但它使用XML来定义路由。我想使用Java DSL。我的RouteBuilder
课程如下:
public class GreetingService extends RouteBuilder {
@Override
public void configure() {
System.out.println("RouteBuilder.configure");
restConfiguration().host("localhost").port("9797");
rest("/say")
.get("/hello").to("direct:hello")
.get("/bye").consumes("application/json").to("direct:bye")
.post("/bye").to("mock:update");
from("direct:hello")
.transform().constant("Hello World");
from("direct:bye")
.transform().constant("Bye World");
}
}
我在有camel-context.xml
文件的情况下尝试了这个。 Swarm启动,但我无法浏览到其他服务端点。
如何调用RouteBuilder
?我应该使用某种main
方法来实例化CamelContext
吗?
我使用的是Widlfy Swarm 2017.8.1,该课程位于war
档案中。
答案 0 :(得分:1)
您可以在web.xml中添加此侦听器以引导驼峰。
org.apache.camel.component.servletlistener.SimpleCamelServletContextListener
或者您可以使用spring来定义驼峰上下文