第 3 章 定义 Camel 路由
Quarkus 的 Camel 扩展支持 Java DSL 语言来定义 Camel 路由。
3.1. Java DSL 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用流畅构建器方法来扩展 org.apache.camel.builder.RouteBuilder,这是定义 Camel 路由的最常见方式。以下是使用计时器组件的简单路由示例:
import org.apache.camel.builder.RouteBuilder;
public class TimerRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from("timer:foo?period=1000")
.log("Hello World");
}
}
3.1.1. 端点 DSL 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
由于 Camel 3.0,您还可以使用 fluent 构建器定义 Camel 端点。以下是与上一示例相当的:
import org.apache.camel.builder.RouteBuilder;
import static org.apache.camel.builder.endpoint.StaticEndpointBuilders.timer;
public class TimerRoute extends RouteBuilder {
@Override
public void configure() throws Exception {
from(timer("foo").period(1000))
.log("Hello World");
}
}
注意
所有 Camel 组件的构建器方法均可通过 camel-quarkus-core 提供,但您仍然需要将给定组件的扩展添加为路由正常工作的依赖项。如果是以上示例,它将是 camel-quarkus-timer。