在Wildfly Swarm上使用Java DSL设置Apache骆驼休息路线
我试图在Wildfly Swarm中设置一个Camel Rest服务,但我不确定RouteBuilder类是如何实例化的,甚至不确定CamelContext是如何实例化的。我下载了Wildfly Swarm示例,并查看了Camel CXF-JAXRS项目,这是有意义的,但它使用XML来定义路由。我想使用JavaDSL。我的RouteBuilder类如下所示:在Wildfly Swarm上使用Java DSL设置Apache骆驼休息路线,java,rest,apache-camel,wildfly-swarm,Java,Rest,Apache Camel,Wildfly Swarm,我试图在Wildfly Swarm中设置一个Camel Rest服务,但我不确定RouteBuilder类是如何实例化的,甚至不确定CamelContext是如何实例化的。我下载了Wildfly Swarm示例,并查看了Camel CXF-JAXRS项目,这是有意义的,但它使用XML来定义路由。我想使用JavaDSL。我的RouteBuilder类如下所示: public class GreetingService extends RouteBuilder { @Override
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文件和不使用camel-context.xml文件。Swarm已启动,但我无法浏览到rest服务端点
如何调用RouteBuilder?我是否应该有某种主方法来实例化上下文
我使用的是Widlfy Swarm 2017.8.1,该类位于war文件中。您可以在web.xml中将此侦听器添加到引导程序中。org.apache.camel.component.servletlistener.SimpleCamelServletContextListener
或者您可以使用spring定义驼峰上下文是否应用了wildfly驼峰补丁。我前一段时间做过这件事,在它开始工作之前,我必须做一些步骤。Hoe gaan dit met Slaapstad?@Namphibian baie lekker:我正在使用mvn管理Wildfly Swarm版本及其所有依赖项,它位于2017.8.1,这是最新的稳定版本。这很有效。我添加了一个src/main/resources/camel/camel-context.xml文件,并指定了RouteBuilder类如下所示的包:za.co.camel.rest