- Replaced Spring with Jersey 3.1.0
- Updated to Jetty 11.0.12
- Removed Hibernate
- Updated to Thymeleaf 3.1.0
This release is a major refactoring. Attempting to upgrade to the final release of Spring 6 caused some integration issues, mostly around Spring being much more opinionated about how nested contexts are used. So, it gave me an excuse to do something I've toyed with for a while, which is use JAX-RS (Jersey) to serve all the content. I've used Jersey for years as my preferred REST API framework on many other projects, and it's always seemed a little cleaner than Spring for such things.
This did turn into a much larger refactoring though, as removing Spring necessitated removal of Spring Data and Spring Security as well, which meant rewriting the data access layer. I'm not 100% happy performance-wise with where it's currently at, but it's functional and gives me a foundation to build on.
Update: Adding Caffeine for caching of commonly-requested database objects has made a big difference in the page render times. I'm now seeing TTFB (time-to-first-byte) times on the home page of around 50-60ms + ping time, which isn't bad.