Replies: 1 comment 1 reply
-
Hi @fmvilas , I know our eclipse-based AsyncAPI Toolkit does not explicitly focus on Spring Cloud Stream (but standard Java for MQTT), and it is not implemented using the official AsyncAPI template engine either, but I think that our proposal directly targets challenge #2 (correct me if I'm wrong). As you may remember, we're following a generative approach, and what we do is generate the Java classes that support data serialization and parsing directly from the AsyncAPI specification. Thus, developers only need to focus on "client code" (i.e., the logic of their apps), and delegate all the boilerplate code (especially if JSON messages are exchanged) to the code generator. Coincidentally, today we have released a new version of the tool, and we have done extensive changes. Now the generated code is much more generic and complete, and what's more, it is maven compatible (so hopefully, generated code can be more easily integrated with 3rd party code now). The tool also has extended it's modeling support, but maybe it is not so interesting in this case. I'm telling this, just in case you want to give it a look. Maybe the new release can serve as an inspiration for solving the challenges you face 😊 |
Beta Was this translation helpful? Give feedback.
-
We currently have a Spring Cloud Stream code generator, which takes an AsyncAPI file and generates a project using Spring Cloud Stream. This is fine but it's not all the good it could be. If you're familiar with our Glee framework, we're advocating for using AsyncAPI at runtime too, instead of using it as a mere asset when starting your project.
We got both ways of working covered, however, there are a few limitations with our current tools:
Proposal
So my proposal is that we create a plugin for Spring Cloud Stream that will be able to intercept messages before they arrive to the handler and before they are published to the broker. In other words, intercept messages when they're received and sent and validate them according to the existing AsyncAPI file in the project. It's not as powerful as Glee but would make things much better and people will instantly see the value.
Benefits
Challenges
Would be great to hear from you folks. Especially, on how to solve the challenges :)
Beta Was this translation helpful? Give feedback.
All reactions