Skip to content

[RIP-76] Migration the Dashboard to Spring Boot 3 and Java 17Β #9311

@HattoriHenzo

Description

@HattoriHenzo

Before Creating the Enhancement Request

  • I have confirmed that this should be classified as an enhancement rather than a bug/feature.

Summary

This is a proposition to improve the source code and the state of the RocketMQ-Dashboard project, the Web UI client of RocketMQ broker. As for every Broker, power full client is a big part of it success, then actively working on this feature will help improve significantly the whole project or at least have an updated version of the Dashboard available.
The goal here is to move from:

  • Spring Boot 2.6.0 to Spring Boot 3
  • Java 1.8 to Java 17

Motivation

Spring and Java has evolve during last years and this is a good opportunity to let this project benefit. Beside of that there are many other aspect to improve as:

  • the correction and the update to mitigate vulnerabilities
  • Java has new more features and we can benefit from it
  • Java is being fast now and the project can benefit from it
  • we can improve the test coverage
  • we can improve some parts of the code by doing some refactoring

Describe the Solution You'd Like

Here is a proposition of the roadmap to follow. Every step will result in the creation of an issue in the Issue Board:

STEPS Description Status Issue
1 Complete the missing Units tests and Integration tests In order to follow the best practice on legacy code modifications done #264 #266
2 Migration to Java 17 and Spring Boot 3 and refactoring to align with new features The purpose of this task is to have a clean and updated source code, following the new Java 17 and Spring Boot 3 practices and new features in progress #313
3 Add Integration Test and End2End test Adding tests to improve the tests coverage and to align the with test pyramid practices
4 Integration with Spring Cloud Adding Spring Cloud Dependency, to make the application Cloud Native
5 CVE (vulnerabilities) correction with the integration of OWASP Essential to enhance the application security
6 Eliminated performance bottlenecks during producer/consumer initialization For performance issue
7 Frontend workflow optimization To make the application easy to use
8 Backend resource efficiency improvements For performance issue
9 User-centric responsive design A big improvement of the Front-End and to make it attractive
10 Security enhancements To add more security capabilities

Describe Alternatives You've Considered

For the moment there is no alternative.

Additional Context

All tasks will have the associated issue created in RocketMQ-Dashboard issue board and will be updated as soon as there is a progress

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions