Croway opened a new pull request, #223:
URL: https://github.com/apache/camel-spring-boot-examples/pull/223
## Summary
Aligns the dependency and plugin versions declared by the examples with the
ones managed by Camel (`camel-dependencies`), camel-spring-boot and the Spring
Boot 4.1.2 BOM. Where none of them defines a version, the dependency is bumped
to its latest release.
This also resolves the Dependabot alert for `io.micrometer:micrometer-core`
(`>= 1.10.0, <= 1.13.15`), which was pinned to 1.13.15 in
`observation/loggingtracer`.
### Overrides that shadowed newer Camel / Spring Boot versions (removed)
| Where | Before | Now (inherited) |
|---|---|---|
| root `reactor-version` (reactive-streams) | 3.8.3 | 3.8.8 |
| root `testcontainers-version` (azure-storage-blob, multi-datasource-2pc) |
2.0.3 | 2.0.5 |
| `resilience4j` `log4j2-version` | 2.24.3 | 2.25.5 |
| `ai-agent` `spring-ai-version` | 2.0.0 | 2.0.2 |
| `genai-observability` langchain4j starter | `1.20.0` + hardcoded `-beta30`
| `${langchain4j-beta-version}` 1.23.0-beta33 |
| `observation/loggingtracer` micrometer-core / brave | 1.13.15 (via a
property named `micrometer-tracing.version`) / 6.0.3 | 1.17.2 / 6.3.1 (Spring
Boot BOM) |
`observation/loggingtracer` had no `<parent>`, so it could not inherit any
managed version (it was also compiled at the compiler plugin's default level
instead of Java 21). It now uses the examples root as parent and imports the
Spring Boot BOM. It does not use `camel-example-spring-boot-observation` as
parent, because that would apply Spring Boot repackaging to a plain library.
Also removed the unused `activemq-version` (activemq) and
`kafka-avro-serializer-version` (root) properties.
### Hardcoded versions replaced with the Camel property
- `org.postgresql:postgresql` 42.7.12 -> `${pgjdbc-driver-version}` (42.7.14)
- `build-helper-maven-plugin` 3.0.0 / 3.5.0 / unversioned ->
`${build-helper-maven-plugin-version}` (3.7.0)
- `agroal-spring-boot-starter` 3.0 -> `${agroal-version}` (3.2.1)
- `hapi-structures-v24` -> `${hapi-version}` (unchanged 2.6.0, drops the
duplicate root property)
### Artemis groupId relocation
`artemis` and `saga` used `org.apache.activemq:artemis-jakarta-*`, which has
been relocated to `org.apache.artemis`. The `artemis` example pinned 2.44.0, so
the classpath mixed 2.44.0 jars with the 2.53.0 jars managed by Spring Boot.
Both examples now use `org.apache.artemis`, with the version managed by the
Spring Boot BOM.
### Not managed by Camel / Spring Boot: bumped to latest
- JKube `kubernetes-maven-plugin` 1.19.0 -> 1.20.0. `openshift-maven-plugin`
in `master` and `saga` had no version at all; it now uses
`${jkube-maven-plugin-version}`
- Strimzi `kafka-oauth-*` 0.15.0 -> 0.18.1. Renamed the property from
`strimzi.version` to `strimzi-kafka-oauth-version`, since it versions the OAuth
library and not the Strimzi operator
- `narayana-spring-boot-starter` 4.0.0 -> 4.1.1 (built against Spring Boot
4.1)
- `swagger-codegen-maven-plugin` 3.0.52 -> 3.0.85. Since
swagger-codegen-generators 1.0.53, the `spring` generator defaults to
`validationMode=strict`, which imports `JsonNullable` from
`org.openapitools:jackson-databind-nullable`. `openapi-contract-first` now sets
`validationMode=legacy`, so the generated models are the same as before
(compared with the 3.0.52 output; only whitespace and line order differ) and no
extra dependency is needed
- `opentelemetry-javaagent` 2.19.0 -> 2.33.1. One root property,
`opentelemetry-javaagent-version`, replaces the separate
`opentelemetry-agent.version` / `opentelemetry-javaagent.version` properties in
observability-services, opentelemetry and rest-cxf-opentelemetry
### Unversioned plugins pinned
Without a version, Maven resolves whatever plugin release is newest, which
may not match the Spring Boot version in use:
- `spring-boot-maven-plugin` (opentelemetry/*, salesforce) ->
`${spring-boot-version}`
- `native-maven-plugin` (aot-basic) -> 1.1.14, the version Spring Boot 4.1.2
uses
### Cleanups
- Removed `org.jolokia:jolokia-core` 1.7.1 from `metrics` and
`supervising-route-controller`. Neither the code nor the configuration uses it,
and Spring Boot 3+ no longer ships a Jolokia actuator endpoint (the `jolokia`
example shows the supported `camel-jolokia-starter` setup)
- Removed module properties that only repeated Camel's value: `avro-version`
(kafka-avro), `msal4j-version` (mail-ms-exchange-oauth2),
`jakarta-servlet-api-version` (saga)
- `resilience4j` client2/service2 run on camel-main with SLF4J 2.x: switched
`log4j-slf4j-impl` (SLF4J 1.x binding, ignored by SLF4J 2) to
`log4j-slf4j2-impl`
## Testing
- `./mvnw -V clean install` on the full reactor (Java 21, tests included):
86 tests run, 0 failures, 0 errors, 2 skipped
- `kamelet-chucknorris` fails with `NoClassDefFoundError:
com/jayway/jsonpath/spi/json/Jackson3JsonProvider`. It fails the same way on a
clean `main`, so it is unrelated to this PR. Camel now uses `json-path` 3.0.0,
but the Spring Boot 4.1.2 BOM manages 2.10.0
- `openapi-contract-first` failed on the first run because of the
swagger-codegen change above. After the `validationMode` fix it builds again
- `./mvnw validate` on the full reactor: no missing plugin version or
groupId relocation warnings left
- `dependency:list` checks:
- `artemis` resolves only `org.apache.artemis:*:2.53.0`
- `observation/loggingtracer` resolves `micrometer-core` 1.17.2 and
`brave` 6.3.1
- `resilience4j` client2/service2 resolve `slf4j-api` 2.0.20 with
`log4j-slf4j2-impl` 2.25.5 as the only binding
_Claude Code on behalf of Federico Mariani_
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]