【问题标题】:JSON or Pipe(|) based DSL for dynamic flow generation in Spring Integration基于 JSON 或 Pipe(|) 的 DSL 用于 Spring Integration 中的动态流生成
【发布时间】:2020-08-05 13:21:34
【问题描述】:

我们正在使用 Java DSL 创建一些 SI 流。所有流程都合并在一个 Spring Boot 应用程序中,这使我们每次添加新流程时都重新部署该应用程序。如果我们以 JSON 格式或管道分隔的流指令以某种方式抽象流创建,我很好奇。这样我们就可以动态创建流并注册它。我已经尝试对此进行搜索,但一无所获。 如果可能的话,请指导我朝着正确的方向实现它..?

【问题讨论】:

    标签: spring spring-boot pipe spring-integration spring-integration-dsl


    【解决方案1】:

    您的故事听起来更像是 Spring Cloud Stream 和 Spring Cloud Data Flow 的组合:

    https://spring.io/projects/spring-cloud-stream

    https://spring.io/projects/spring-cloud-dataflow

    通过在运行时加载 XML 配置,可以实现类似于您所要求的解决方案。我们有一些旧项目(目前不支持)- Spring Integration Flow:

    https://github.com/spring-projects/spring-integration-flow

    尽管您所问的最大问题是您可能在这些动态流中使用的组件的 Java 代码。因此,从一些流畅的外部配置加载动态流是不可能的,因为不清楚您将如何提供支持的 Java 代码。

    到目前为止,我们拥有的是使用 Java DSL 的动态流:https://docs.spring.io/spring-integration/docs/current/reference/html/dsl.html#java-dsl-runtime-flows。但它仍然不能从外部表示为一些花哨的 JSON。它必须是一个应该被编译为分类的代码,然后我们才能在运行时将它们连接到集成流中。

    【讨论】:

    • 感谢@Artem Bilan 的快速回复。云流似乎是一个巨大的架构变化。 XML 配置给了我希望,但担心它未来的支持。我很好奇为什么 SI 不能采用与云流相同的方法..?
    • 将每个端点视为流并在多个自定义服务激活器中具有自定义逻辑..?
    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 2016-01-27
    • 1970-01-01
    • 2013-04-07
    • 2018-09-27
    • 1970-01-01
    • 2021-11-21
    • 2018-10-07
    相关资源
    最近更新 更多