0

我正在尝试在 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文件中。

4

1 回答 1

1

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

于 2017-08-28T09:59:49.393 回答