spring - 基于 JSON 或 Pipe(|) 的 DSL,用于 Spring Integration 中的动态流生成

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

我们正在使用 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/

相关文章:

java - 从不同的 HTTP 请求访问 Spring bean

java - 在 Spring Boot 中使用 LDAP 进行身份验证时出错原因 : [LDAP: error code 50 - Insufficient Access Rights]

python - 如何将 readline() 与 subprocess.Popen 返回的管道一起使用

java - spring boot-无法读取yaml属性文件application.yml

reactjs - CORS header ‘Access-Control-Allow-Origin’ 缺少 REACT

python - 从管道读取 Python 标准输入,不阻塞空输入

ruby - 让 Ruby 与 Node.js 交互

java - Postman - 所需的 MultipartFile 参数不存在 - Spring,Java

java - @Cacheable 条件使用应用程序属性

java - 在不下载 DTD 的情况下解析 XML 文档的标准方法