在Wildfly Swarm上使用Java DSL设置Apache Camel Rest路由

时间:2017-08-26 16:07:58

标签: java rest apache-camel wildfly-swarm

我正在尝试在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档案中。

1 个答案:

答案 0 :(得分:1)

您可以在web.xml中添加此侦听器以引导驼峰。
org.apache.camel.component.servletlistener.SimpleCamelServletContextListener 或者您可以使用spring来定义驼峰上下文