logo

Changes ahead: Atoti Server 6.0-springboot3

Olivier Peyrusse

ActiveViam is upgrading version 6.0 of Atoti Server from Spring Boot 2 to Spring Boot 3 to address common vulnerabilities and exposure (CVEs) and to be in line with Spring long-term support.

While migrating to Spring Boot 3 offers better support to our clients, longer stability and is attractive for the new features it offers, it comes with some challenges for the technical teams behind every Atoti project. To help those who choose to migrate to this version, we explain some of the common challenges below.

Spring Boot 3 specific updates

Some of the changes required are specific to differences between Spring Boot 3 and Spring Boot 2.

Spring Boot 3 requires Java 17; projects must now compile using JDK 17, compared to JDK 11 before. While most projects should be capable of this, some external libraries do not support this new language version yet.

Additionally, Spring Boot 3 comes with new dependencies. The ownership of javax has been transferred to Jakarta EE, a new project managed by the Eclipse Foundation. This requires a lot of dependency and import migrations, from a simple search-and-replace of javax by jakarta to finding the updated code patterns. And javax provided a wide set of components: code annotations for quality, XML parsing, persistence in database with Java and servlet implementations. In addition to this large renaming, several packages have taken the opportunity to rename as well. For example Hibernate, changing to hibernate.orm.

The third challenge is the migration of Spring framework itself, like new patterns for defining the security of REST endpoints.

Atoti Server specific updates

There are two changes driven from the Atoti Server side.

As part of Atoti Server 6.0, we provided built-in support for tracing through Spring Cloud Sleuth. This wrapper disappeared in Spring Boot 3, so we took this as an opportunity to migrate to OpenTelemetry. While this change should be transparent, it requires a change of configuration when setting up project options for tracing.

The second element is the drop of support for Remote Invocation in Spring 6. While the core config exposing services like the ConfigurationService or the QueriesServices has been removed, the services remain and can be used. They are simply not exposed as web services anymore. We encourage users to migrate to Atoti Server REST and WebSocket services instead.

Like this post ? Please share

Latest Articles

View All

Hierarchy Fundamentals in Atoti

Read More

Retail Banking Analytics with Atoti

Read More

Putting Python Code in Production

Read More

NEWSLETTER

Join our Community for the latest insights and information about Atoti