datawave
datawave copied to clipboard
Update microservices to use the latest Spring Boot
As part of our push to convert the monolithic webservice to microservices, we should update to the latest version of spring boot (currently 2.4.4) and spring cloud. There are some kubernetes-specific additions in the latest version of spring boot which we will want to leverage with the query microservices. This will also enable us to try out a more recent version of kafka.
Multiple project and modules will be effected by this update. We don't necessarily need to update each and every microservice to use the latest version of spring boot, but there are benefits to doing that. One benefit is that we will be able to use consistent configuration properties across microservices, which may not be possible if we run services which leverage varying versions of spring boot.
WIP: https://github.com/NationalSecurityAgency/datawave-microservices-root/tree/feature/spring-boot-2.4
As I go through updating each service I'm going to try to keep this table updated with the versions associated with spring boot 2.6.3 for each artifact. I will also link the branches for the snapshot versions.
| Artifact | Version |
|---|---|
| datawave-microservices-build-parent | 1.0-SNAPSHOT |
| datawave-microservice-parent | 1.9-SNAPSHOT |
| datawave-microservice-service-parent | 2.1-SNAPSHOT |
| spring-boot-starter-datawave | 1.6.8-SNAPSHOT |
| spring-boot-starter-datawave-audit | 1.3-SNAPSHOT |
| spring-boot-starter-datawave-cache | 1.1-SNAPSHOT |
| base-rest-responses | 1.3-SNAPSHOT |
| accumulo-utils | 1.5-SNAPSHOT |
| common-utils | 1.2-SNAPSHOT |
| metadata-utils | 1.10-SNAPSHOT |
| type-utils | 1.9-SNAPSHOT |
| config-service | 1.6-SNAPSHOT |
| hazelcast-client | 1.9-SNAPSHOT |
| hazelcast-common | 1.9-SNAPSHOT |
| hazelcast-service | 1.9-SNAPSHOT |
| audit-api | 1.11-SNAPSHOT |
| audit-service | 1.11-SNAPSHOT |
| authorization-api | 1.14-SNAPSHOT |
| authorization-service | 1.14-SNAPSHOT |
| accumulo-api | 1.4-SNAPSHOT |
| accumulo-service | 1.4-SNAPSHOT |
| dictionary-api | 1.3-SNAPSHOT |
| dictionary-service | 1.3-SNAPSHOT |
| assert-properties | 2.0.2-SNAPSHOT |
| read-properties | 2.0.3-SNAPSHOT |
| query-metric-service | 1.5-SNAPSHOT |
| query-metric-api | 1.5-SNAPSHOT |
| spring-boot-starter-datawave-query-metric | 1.5-SNAPSHOT |
Last Updated 4/26/22
OK, I think I have everything working with spring boot 2.4.4. Everything builds, and all of the tests run successfully, but we'll have to do some integration testing to make sure everything still works together harmoniously.