有一些方法可以为 spring 集成 dsl 流生成图表吗?

Posted

技术标签:

【中文标题】有一些方法可以为 spring 集成 dsl 流生成图表吗?【英文标题】:There's some way to generate diagrams for spring integration dsl flows? 【发布时间】:2018-05-31 20:20:16 【问题描述】:

我有一个正在运行的应用程序,它定义了一些带有入站/出站网关、拆分器、聚合器、路由器等的 Spring 集成流程......

这些流程都是使用 spring 集成 dsl 和注释创建的......所以没有 XML。

有什么工具可以为它生成 EE 模式图吗?

This question 声明 Intellij 可以为 xml 配置执行此操作...我想要与 dsl IntegrationFlow 类似的东西

【问题讨论】:

【参考方案1】:

有Spring Flo 项目,基于它的基础,我们公开了IntegrationGraphControllerGraph 树以将集成流表示为JSON。该模型可用于可视化您的应用程序的实时性。

此外,我们还有一个具有上述功能的sample application。

编辑

spring-flo 项目正在迁移到 angular 4/5。

构建和运行查看器:

git checkout angular-1.x
cd samples/spring-flo-si
mvn clean package
java -jar target/spring-flo-sample-si-0.0.1.BUILD-SNAPSHOT.jar

在浏览器中转到http://localhost:8082 并输入启用了集成图的应用的 URL;点击Load

启用图形端点是documented here。

【讨论】:

我添加了构建/运行查看器的说明。 是否可以将 Spring Flo 用于基于 XML 配置的项目? Flo 输出模型基于IntegrationGraph 结果:docs.spring.io/spring-integration/docs/5.0.5.RELEASE/reference/…。这实际上只是应用程序上下文状态的反映,并且我们从哪里获得 Spring Integration bean 已经无关紧要:XML、Java DSL 或只是手动 bean 注册。 我只是重复了上面的步骤,构建并运行成功,但是在浏览器控制台我得到:Loading failed for the <script> with source “http://localhost:8082/webjars/lodash/lodash.js”. localhost:8082:1 Error: Script error for "lodash" require.js:168:17 http://requirejs.org/docs/errors.html#scripterror Error: Load timeout for modules: flo,joint,dagre,graphlib require.js:168:17 http://requirejs.org/docs/errors.html#timeout 没错。我们一直被跟踪,目前不支持这些项目,现在我们手中没有任何开箱即用的可视化工具。我们将在不久的将来看到我们可能提出的建议。同时,您可以从这里获得一些想法:toparvion.pro/en/post/2020/integraph

以上是关于有一些方法可以为 spring 集成 dsl 流生成图表吗?的主要内容,如果未能解决你的问题,请参考以下文章

Http出站网关在工作,但没有进行调用--使用spring集成DSL java。

如何处理 Spring 集成流的事务(Java DSL)

如何使用 spring 集成 dsl 从 JMS 队列中解组 XML

使用 Spring Integration DSL 读取 Tibco EMS 主题

Spring集成Java DSL:指定自定义反序列化器

Spring Integration - 集成流模板