7

I have a running app that defines some spring integration flows with inbound/outbound gateways, splitters, aggregators,routers and etc...

These flows are all created using spring integration dsl and annotations... so no XML's.

There is any tool out there that can generate the EE patterns diagrams for it?

This question states that Intellij can do it for xml configurations... I want something similar that works with dsl IntegrationFlow's

Lucas Oliveira
  • 3,357
  • 1
  • 16
  • 20

1 Answers1

7

There is Spring Flo project and based on its foundation we have expose the IntegrationGraphController with the Graph tree to represent integration flows as JSON. That model can be used to visualize realtime of your application.

In addition we have a sample application with the mentioned functionality.

EDIT

The spring-flo project is in the process of being migrated to angular 4/5.

To build and run the viewer:

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

In a browser go to http://localhost:8082 and enter the URL for your app that has the integration graph enabled; click Load.

Enabling the graph endpoint is documented here.

Gary Russell
  • 166,535
  • 14
  • 146
  • 179
Artem Bilan
  • 113,505
  • 11
  • 91
  • 118
  • 2
    I added instructions for building/running the viewer. – Gary Russell Dec 18 '17 at 15:37
  • Is it possible to use Spring Flo for XML configuration based project? – xagaffar May 10 '18 at 16:10
  • 2
    The Flo output model is based on the `IntegrationGraph` result: https://docs.spring.io/spring-integration/docs/5.0.5.RELEASE/reference/html/system-management-chapter.html#integration-graph. Which is really just a reflection of application context state and that already doesn't matter from where we get Spring Integration beans: XML, Java DSL or just manual beans registration. – Artem Bilan May 10 '18 at 16:16
  • I just repeated the steps above, the build and run was successful, but in the browser console I get: `Loading failed for the – Boris Jun 15 '18 at 14:58
  • Is this still doable with new versions? – Makky Jan 01 '20 at 18:57
  • We don't support that project any more. We work on something new these days. And here is our latest version: http://si-view.cfapps.io/. It's not available for the public yet. – Artem Bilan Jan 02 '20 at 22:25
  • I followed the steps and I am also getting the same error as Boris. Is there a way to make it work? – Pruthviraj May 03 '20 at 07:37
  • When executing `java -jar target/spring-flo-sample-si-0.0.1.BUILD-SNAPSHOT.jar` I get an exception ... caused by ... Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at org.hibernate.validator.internal.util.Version.getJavaRelease(Version.java:36) ~[hibernate-validator-5.2.2.Final.jar!/:5.2.2.Final] – Chris Jul 22 '21 at 21:12
  • Then I tried doing what was written in the readme `mvn spring-boot:run` and got and exception ... Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @4243eac2 – Chris Jul 22 '21 at 21:14
  • Finally I saw the collapsed comment saying that there was a new project at si-view.cfapps.io, but that link seems to be dead. – Chris Jul 22 '21 at 21:14
  • 2
    That’s correct. We’ve been side tracked and don’t support those projects at the moment and there is no any out-of-the-box visualizer in our hands right now. We will see in a nearest future what we may suggest. Meanwhile you can take some ideas from here: https://toparvion.pro/en/post/2020/integraph/ – Artem Bilan Jul 22 '21 at 21:47
  • Thanks Artem ! I'll take a look ! – Chris Jul 22 '21 at 23:12
  • In the mean time, these instructions with a pre built JAR actually still work ! https://github.com/spring-projects/sts4/issues/167#issuecomment-557170957 – Chris Jul 22 '21 at 23:13