我们正在使用 Java DSL 创建一些 SI 流。所有流程都集中在一个 Spring boot 应用程序中,这使得我们每次添加新流程时都需要重新部署该应用程序。我很好奇我们是否以 JSON 格式或管道分隔的流指令抽象流创建。这样我们就可以动态创建流并注册它。我已经尝试对此进行搜索,但一无所获。 如果可能的话,请引导我走向正确的方向来实现它..?
最佳答案
您的故事听起来更像是 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。它必须是一个应该被编译为类的代码,只有在此之后我们才能在运行时将它们连接到集成流中。
关于spring - 基于 JSON 或 Pipe(|) 的 DSL,用于 Spring Integration 中的动态流生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63266139/