在 Wildfly Swarm 上使用 Java DSL 设置 Apache Camel Rest 路由
Setup Apache Camel Rest route using Java DSL on Wildfly Swarm
我正在尝试在 Wildfly Swarm 中设置 Camel Rest 服务,但我不确定 RouteBuilder
class 是如何实例化的,甚至不确定 CamelContext
是如何实例化的.我下载了 Wildfly Swarm 示例并查看了 Camel CXF-JAXRS 项目,这很有意义,但它使用 XML 来定义路由。我想使用 Java DSL。我的 RouteBuilder
class 看起来像这样:
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,class 在 war
文件中。
您可以在 web.xml 中添加此侦听器到 bootstrap 骆驼。
org.apache.camel.component.servletlistener.SimpleCamelServletContextListener
或者你可以使用 spring 定义骆驼上下文
我正在尝试在 Wildfly Swarm 中设置 Camel Rest 服务,但我不确定 RouteBuilder
class 是如何实例化的,甚至不确定 CamelContext
是如何实例化的.我下载了 Wildfly Swarm 示例并查看了 Camel CXF-JAXRS 项目,这很有意义,但它使用 XML 来定义路由。我想使用 Java DSL。我的 RouteBuilder
class 看起来像这样:
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,class 在 war
文件中。
您可以在 web.xml 中添加此侦听器到 bootstrap 骆驼。
org.apache.camel.component.servletlistener.SimpleCamelServletContextListener
或者你可以使用 spring 定义骆驼上下文