273.5. 从 Camel 获取数据
要从 Camel 路由订阅数据流,应将交换重定向到命名流,如以下代码片段中所示:
from("timer:clock") .setBody().header(Exchange.TIMER_COUNTER) .to("reactive-streams:numbers");
from("timer:clock")
.setBody().header(Exchange.TIMER_COUNTER)
.to("reactive-streams:numbers");
路由也可以使用 XML DSL 编写。
在示例中,未绑定的数字流与名称 编号
关联。可使用 CamelReactiveStreams
工具类访问流。
这个流可以和任何被动流兼容库轻松使用。以下是如何将它与 RxJava 2 搭配使用的示例(尽管可以使用任何被动框架来处理事件)。
Flowable.fromPublisher(integers) .doOnNext(System.out::println) .subscribe();
Flowable.fromPublisher(integers)
.doOnNext(System.out::println)
.subscribe();
这个示例将 Camel 生成的所有数字打印到 System.out
中。
273.5.1. 使用直接 API 从 Camel 获取数据 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
对于短 Camel 路由以及希望使用被动框架的功能结构定义整个处理流的用户(根本不使用 Camel DSL),也可以使用 Camel URI 定义流。