Skip to content

Conversation

@piotrooo
Copy link
Contributor

@piotrooo piotrooo commented Dec 23, 2025

Resolve #1205

This is the first step toward removing Spring Messaging and Reactor dependencies.

The Message class from the Spring Messaging project was used only to leverage message header functionality, which was used in a dynamic manner.

The Message object has been replaced with an internal TerminalEvent object that mimics all required header features.

Important

This change is a pure object replacement intended to remove the Spring Messaging dependency. No logic or control flow has been changed. Further refactoring will be done in future iterations.

Signed-off-by: Piotr Olaszewski <piotr.olaszewski@thulium.pl>
@fmbenhassine
Copy link
Contributor

This is absolutely amazing! Thank you for doing this 🙏 The TerminalEvent concept and name are great! I believe this should go hand in hand with the reactor replacement.

I will review this in details and see if we can include it in v4.0 planned for next week (might be short at this point). My thinking is that if there are no reactor APIs "leaked" in Spring Shell public APIs, then we can leave the reactor replacement for 4.1 or later.

@piotrooo
Copy link
Contributor Author

This is absolutely amazing! Thank you for doing this 🙏 The TerminalEvent concept and name are great! I believe this should go hand in hand with the reactor replacement.

I will review this in details and see if we can include it in v4.0 planned for next week (might be short at this point). My thinking is that if there are no reactor APIs "leaked" in Spring Shell public APIs, then we can leave the reactor replacement for 4.1 or later.

As I mentioned, baby steps — let’s start with Spring Messaging and go deeper after the 4.0 release 🤔 Reactor is unfortunately not trivial, but maybe you have some ideas 💡

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The reason of Spring Messaging in Spring Shell

2 participants