当前位置: 首页 > 知识库问答 >
问题:

在Spring Cloud Data Flow中使用一个源、两个并行处理器和一个接收器创建Stream

闾丘谦
2023-03-14

我正在尝试在Spring Cloud Data Flow中创建一个流

>

  • 一个源,即订单源和订单消息将被发布到 RabbitMQ 主题/队列。

    两个并行处理器,即产品处理器和装运处理器 这两个处理器都将是 RabbitMQ 主题/队列的订阅者并获取订单消息,每个处理器将单独处理这些订单消息并更新订单,订单消息将发布到 RabbitMQ 主题/队列。

    一个汇点,即支付汇点汇点将是RabbitMQ主题/队列的订户,并将获得订单消息,并根据订单消息完成支付流程。

    我尝试了以下命令并部署

    流创建--名称订单到支付--定义'订单来源|产品处理器|装运处理器|支付汇'

    但在 Spring Cloud Data Flow 中的图形上,它如下所示:

    但是我看起来像下面这样

    有可能做到这一点吗?因为Spring Cloud Data Flow不允许它从一个源连接两个处理器,也不允许它以图形方式从两个处理器连接到一个汇点?

    谢谢你,大卫。

  • 共有1个答案

    范修伟
    2023-03-14

    您可以使用命名目的地拥有带有数据流的DAG,请在此处查看:http://docs.spring.io/spring-cloud-dataflow/docs/1.2.2.RELEASE/reference/htmlsingle/#spring-cloud-dataflow-stream-advanced

    您需要通过指定的目的地发送消息,并从中合成流。如果您在查看文档时遇到问题,请告诉我,我可以在这里发布一个示例。

     类似资料:
    • 我尝试实现这个答案,但只有在两个列表都已预填充的情况下,它才起作用,但在我的例子中,一个列表是预填充的,另一个是动态递增/递减的。 黑盒表示可动态递增/递减的循环列表,其主要作用是显示用户喜爱的字体。 红框代表所有可用的字体,它们是预先填充的。 我的xml代码:

    • 问题内容: 编辑:感谢您的所有迅速答复。现在,我看到该作业将无效。从另一个线程,我读到Java中的迭代器比C ++中的迭代器功能强大得多。请问为什么在Java中使用迭代器?只是要替换“ for”循环?谢谢。 一些注意事项: 第二个迭代器应从第一个迭代器之后的位置开始。 我尝试从头开始遍历一个有序列表,然后在列表中找到一些对象,这些对象具有与aItr所指向的属性相似的属性。 我不介意使用两个“ fo

    • 我有一个包含不同类型事件的本体论。因此我有三个类:A、B、C和一个helper类Temp。 我希望推理器为每找到一对个体a(RDF:TypeOf a)和b(RDF:TypeOf b)创建一个新个体作为C的子类。这个新个体应该包含关于a和B的信息。 在过去,我使用一个带有自己规则文件的jena推理器来得到这个结果,但现在我想切换到一个标准的OWL DL推理器。 和ad为a提供Temp类型,对Temp

    • 我试图在Android中创建一个应用程序,仅由1个广播接收器(而不是其他)组成。 广播接收器应该简单地捕捉广播(例如收到的短信,记录信息并完成)。然而,我注意到广播没有被接收器捕捉到,除非我指出我有主活动,如下Androidanifest.xml将显示: 我甚至不需要在应用程序中有一个活动类。此外,如果我在意图过滤器中删除android.intent.category.LAUNCHER或andro

    • 我想在Docker容器中启动两个不同的服务,并在其中一个退出后立即退出容器。我查看了supervisor,但找不到如何让它在一个托管应用程序退出后立即退出。它试图重启它们多达三次,就像标准设置一样,然后什么也不做。主管是否能够做到这一点,或者是否有其他工具可以做到这一点?如果还有一种方法可以让两个托管程序都写入到stdout,并标记它们的应用程序名,则会有好处,例如:

    • 一个接口: 两个实现bean: -单件bean并标记为 -原型Bean 在Manager类中: 观察:spring创建了和,然后创建了autowires。 预期:由于已经标记为,spring应该只创建这个bean并自动连接它。spring不需要创建的实例。这对性能/功能没有影响,但这看起来像是浪费的实例创建,只会被丢弃。