Rx java 使用RxJava实现基于内容路由的惯用方法

Rx java 使用RxJava实现基于内容路由的惯用方法,rx-java,reactive-programming,project-reactor,Rx Java,Reactive Programming,Project Reactor,有人知道在RxJava或反应流中如何使用惯用方法吗 我可以看到如何使用标准的操作符(如map filter和transform)创建反应式消息处理管道 但我看不出为什么要使用操作符在几个可能的管道之间切换 我希望能够基于一个初始输入对象或映射触发多个处理管道中的一个,以便根据输入映射或对象的内容选择不同的管道 我的想法是,我需要向外部api发出一个或多个可能的请求,并根据控制器的输入对象确定要触发的api和管道 我知道这可以通过Spring集成或Camel实现,但我的用例不需要集成引擎的全部灵活

有人知道在RxJava或反应流中如何使用惯用方法吗

我可以看到如何使用标准的操作符(如map filter和transform)创建反应式消息处理管道

但我看不出为什么要使用操作符在几个可能的管道之间切换 我希望能够基于一个初始输入对象或映射触发多个处理管道中的一个,以便根据输入映射或对象的内容选择不同的管道

我的想法是,我需要向外部api发出一个或多个可能的请求,并根据控制器的输入对象确定要触发的api和管道

我知道这可以通过Spring集成或Camel实现,但我的用例不需要集成引擎的全部灵活性,因为munch deen能够处理在线延迟


谢谢,基于内容的路由是
flatMap
的一项工作:

observable.flatMap(x -> {
    if (isA(x))
        return observableA(x);
    else 
        return observableB(x);
});

您还可以使用运算符GroupBy,它允许您编辑不同的项目组


您可以在这里看到groupBy的一些示例

你是说“惯用方式”吗?很抱歉,惯用方式是指使用一个内置操作符。我以为你指的是惯用的方式,这很好,课文说“惯用为什么”。