Skip to content
Open
Show file tree
Hide file tree
Changes from 36 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
3695b58
Update dependency org.springframework.boot:spring-boot-dependencies t…
renovate[bot] Oct 23, 2025
80c80bf
Update dependency org.springframework.boot:spring-boot-starter-actuat…
renovate[bot] Oct 23, 2025
7aaf314
Merge pull request #536 from kit-data-manager/renovate/org.springfram…
ThomasJejkal Oct 24, 2025
56403b5
Merge pull request #535 from kit-data-manager/renovate/springbootversion
ThomasJejkal Oct 24, 2025
fcc5dcb
Update dependency gradle to v9.2.0
renovate[bot] Oct 29, 2025
bf9368b
Update dependency com.fasterxml.jackson.datatype:jackson-datatype-jsr…
renovate[bot] Oct 31, 2025
9b449fa
Update dependency com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-prov…
renovate[bot] Oct 31, 2025
bc5479b
Update dependency com.fasterxml.jackson.module:jackson-module-afterbu…
renovate[bot] Oct 31, 2025
f6fa21b
Update dependency de.codecentric:spring-boot-admin-starter-client to …
renovate[bot] Nov 2, 2025
3255005
Update springDocVersion to v2.8.14
renovate[bot] Nov 4, 2025
6c1af80
Merge pull request #544 from kit-data-manager/renovate/springdocversion
ThomasJejkal Nov 5, 2025
d2602a5
Merge pull request #543 from kit-data-manager/renovate/de.codecentric…
ThomasJejkal Nov 5, 2025
691bd96
Merge pull request #542 from kit-data-manager/renovate/com.fasterxml.…
ThomasJejkal Nov 5, 2025
04d2121
Merge branch 'development' into renovate/com.fasterxml.jackson.jaxrs-…
ThomasJejkal Nov 5, 2025
d9a505f
Merge pull request #541 from kit-data-manager/renovate/com.fasterxml.…
ThomasJejkal Nov 5, 2025
17fcf5a
Update dependency com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-prov…
renovate[bot] Nov 5, 2025
1f1416b
Merge branch 'development' into renovate/com.fasterxml.jackson.dataty…
ThomasJejkal Nov 5, 2025
b780090
Merge pull request #540 from kit-data-manager/renovate/com.fasterxml.…
ThomasJejkal Nov 5, 2025
5fc0303
Merge pull request #545 from kit-data-manager/renovate/com.fasterxml.…
ThomasJejkal Nov 5, 2025
655aec9
Update dependency com.fasterxml.jackson.datatype:jackson-datatype-jod…
renovate[bot] Nov 5, 2025
ec18780
Merge pull request #539 from kit-data-manager/renovate/com.fasterxml.…
ThomasJejkal Nov 5, 2025
b017211
Merge pull request #538 from kit-data-manager/renovate/gradle-9.x
ThomasJejkal Nov 5, 2025
15d3205
Update plugin io.freefair.lombok to v9.1.0
renovate[bot] Nov 8, 2025
e5d6e64
Update plugin io.freefair.maven-publish-java to v9.1.0
renovate[bot] Nov 8, 2025
766528c
Update dependency commons-io:commons-io to v2.21.0
renovate[bot] Nov 8, 2025
f594bf2
Merge pull request #548 from kit-data-manager/renovate/commons-io-com…
ThomasJejkal Nov 9, 2025
95c1775
Merge pull request #547 from kit-data-manager/renovate/io.freefair.ma…
ThomasJejkal Nov 9, 2025
9621207
Merge branch 'development' into renovate/io.freefair.lombok-9.x
ThomasJejkal Nov 9, 2025
b2501d0
Merge pull request #546 from kit-data-manager/renovate/io.freefair.lo…
ThomasJejkal Nov 9, 2025
c8e6950
Update plugin org.owasp.dependencycheck to v12.1.9
renovate[bot] Nov 11, 2025
8fdca4e
Update dependency org.springframework:spring-messaging to v6.2.13
renovate[bot] Nov 13, 2025
e95eab5
Update dependency org.springframework:spring-messaging to v7
renovate[bot] Nov 13, 2025
a2d7a3f
Merge pull request #552 from kit-data-manager/renovate/org.springfram…
ThomasJejkal Nov 14, 2025
8b94bdf
Merge branch 'development' into renovate/org.springframework-spring-m…
ThomasJejkal Nov 14, 2025
8a0d0ea
Merge pull request #551 from kit-data-manager/renovate/org.springfram…
ThomasJejkal Nov 14, 2025
e97d322
Merge pull request #550 from kit-data-manager/renovate/org.owasp.depe…
ThomasJejkal Nov 14, 2025
ab19ba2
Update dependency org.springframework.data:spring-data-elasticsearch …
renovate[bot] Nov 14, 2025
1c54ce3
Update dependency gradle to v9.2.1
renovate[bot] Nov 18, 2025
82569f6
Update dependency org.springframework.restdocs:spring-restdocs-mockmv…
renovate[bot] Nov 19, 2025
1663b1a
Update dependency org.springframework:spring-messaging to v7.0.1
renovate[bot] Nov 20, 2025
0c0dda7
Update dependency org.springframework.boot:spring-boot-dependencies t…
renovate[bot] Nov 20, 2025
d769aea
Update dependency org.springframework.boot:spring-boot-starter-actuat…
renovate[bot] Nov 20, 2025
b19255e
Update actions/checkout action to v6
renovate[bot] Nov 20, 2025
5826c32
Merge pull request #553 from kit-data-manager/renovate/org.springfram…
VolkerHartmann Dec 1, 2025
af3dc5b
Merge pull request #555 from kit-data-manager/renovate/gradle-9.x
VolkerHartmann Dec 1, 2025
ea4bf90
Merge pull request #556 from kit-data-manager/renovate/org.springfram…
VolkerHartmann Dec 1, 2025
aab2a94
Merge pull request #557 from kit-data-manager/renovate/org.springfram…
VolkerHartmann Dec 1, 2025
8244b12
Merge pull request #558 from kit-data-manager/renovate/springbootversion
VolkerHartmann Dec 1, 2025
3a1c862
Merge pull request #559 from kit-data-manager/renovate/org.springfram…
VolkerHartmann Dec 1, 2025
a7b7400
Merge pull request #560 from kit-data-manager/renovate/actions-checko…
VolkerHartmann Dec 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
* limitations under the License.
*/
plugins {
id "io.freefair.lombok" version "9.0.0"
id "io.freefair.maven-publish-java" version "9.0.0"
id "io.freefair.lombok" version "9.1.0"
id "io.freefair.maven-publish-java" version "9.1.0"
id "io.spring.dependency-management" version "1.1.7"
//id "com.github.kt3k.coveralls" version "2.8.1"
id "org.owasp.dependencycheck" version "12.1.8"
id "org.owasp.dependencycheck" version "12.1.9"
id "org.asciidoctor.jvm.convert" version "4.0.5"
//id "org.ajoberstar.grgit" version "2.0.1"
id "java"
Expand All @@ -32,8 +32,8 @@ plugins {

ext {
// versions of dependencies
springBootVersion = '3.5.6'
springDocVersion = '2.8.13'
springBootVersion = '3.5.7'
springDocVersion = '2.8.14'
javersVersion = '7.9.0'
}

Expand Down Expand Up @@ -71,7 +71,7 @@ if (project.hasProperty('release')) {

dependencies {
// Spring
implementation 'org.springframework:spring-messaging:6.2.12'
implementation 'org.springframework:spring-messaging:7.0.0'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

⚠️ Spring messaging major version bump requires careful testing.

Updating org.springframework:spring-messaging from 6.2.12 to 7.0.0 is a major version change, not a routine patch or minor bump. Spring 7.0 introduces significant changes from the 6.x series, including API modifications and potential breaking changes.

Before merging, verify:

  1. All messaging-related code compiles and unit tests pass
  2. Integration tests with RabbitMQ/message brokers pass
  3. Any deprecated Spring 6.x messaging APIs have been migrated
  4. No runtime exceptions occur during message processing

Run the verification script below to check for deprecated or removed Spring messaging APIs:


🏁 Script executed:

#!/bin/bash
# Description: Search for potential Spring messaging usage that may break with Spring 7.0
# Looking for patterns that might indicate messaging configuration or usage

echo "=== Searching for Spring Messaging usage patterns ==="

# Search for RabbitTemplate usage
rg -nP --type=java 'RabbitTemplate|@RabbitListener|AmqpTemplate' --max-count=20

# Search for messaging channel/queue declarations
rg -nP --type=java 'Queue\(|TopicExchange|DirectExchange|FanoutExchange' --max-count=20

# Search for Spring Messaging core interfaces
rg -nP --type=java 'MessageChannel|MessageHandler|AbstractMessageChannel' --max-count=20

# Check for any @Deprecated annotations in test/code that might indicate migration needed
rg -nP --type=java '@Deprecated.*[Mm]essaging' --max-count=10

Length of output: 53


🏁 Script executed:

#!/bin/bash
# Broader search for Spring messaging usage and project structure

echo "=== Project Structure ==="
find . -type f -name "*.gradle" -o -name "*.properties" -o -name "*.xml" | head -20

echo -e "\n=== Checking all Java files ==="
fd --type f --extension java | wc -l

echo -e "\n=== Looking for any Spring imports ==="
rg -nP --type=java 'import.*spring' --max-count=30

echo -e "\n=== Checking build.gradle for all Spring dependencies ==="
fd --type f -name "build.gradle" -exec cat {} \;

echo -e "\n=== Checking for messaging configuration files ==="
fd --type f \( -name "*messaging*" -o -name "*rabbit*" -o -name "*amqp*" \)

echo -e "\n=== Checking for test files with messaging ==="
fd --type f -name "*Test*.java" -o -name "*test*.java" | xargs rg -l 'messaging|rabbit|amqp' 2>/dev/null || echo "No test files with messaging patterns"

Length of output: 74000


🏁 Script executed:

#!/bin/bash
# Check if there are actual usages beyond imports

echo "=== Searching for imports of spring-messaging classes ==="
rg -nP --type=java 'from.*spring.*messaging|import.*spring\.messaging' 

echo -e "\n=== Check for spring.rabbitmq configuration ==="
rg -nP 'spring\.rabbitmq|rabbitmq' --type=properties --type=yaml --type=conf

echo -e "\n=== Look for any gradle test tasks ==="
fd --type f -name "build.gradle" -exec grep -A5 "test\|Test" {} \;

Length of output: 412


🌐 Web query:

Spring Framework 7.0.0 breaking changes messaging

💡 Result:

Key breaking-change items in Spring Framework 7.0 that affect messaging (spring-messaging / JMS):

  • New JmsClient API introduced (alternative to JmsMessagingTemplate). JmsClient uses Spring Message payloads and throws MessagingException; code using JmsMessagingTemplate can be migrated or keep using the older API but should review examples and QoS handling. [1][2]
  • Jakarta package baseline: Spring 7 requires Jakarta EE 11; annotations in javax.* (e.g., javax.annotation, javax.inject) are removed/superseded by jakarta.* — update imports/usages in messaging code and third‑party libs. [1]
  • Module/version moves: spring-messaging artifacts are available in 7.0.x milestone/RC builds (package API changes and new javadocs) — check the 7.0.0 Javadoc for any method/class signature changes you rely on. [3][4]
  • Transitive/infra changes (may affect messaging): removal of spring-jcl in favor of Commons Logging, Netty and other baseline bumps (Netty, servlet, Hibernate) — these platform changes can surface in messaging setups (Netty-based transports, logging behavior). Validate dependencies and runtime containers after upgrade. [1][3]

Recommended quick steps when migrating messaging code:

  • Search/replace javax.* -> jakarta.* where applicable. [1]
  • Review usage of JmsMessagingTemplate; consider migrating to JmsClient where its QoS/handle style is beneficial. [1][2]
  • Compare your code against the 7.0 spring-messaging Javadoc and the 7.0 release notes for any signature/class removals. [3][4]

Sources: Spring Framework 7.0 release notes and announcement, Maven/Central spring-messaging listings, 7.0 Javadoc. [1][2][3][4]

References
[1] Spring Framework 7.0 Release Notes (spring-projects/spring-framework wiki).
[2] Spring blog: Spring Framework 7.0.0-M7 announcement.
[3] Maven Central / spring-messaging 7.0 listings.
[4] spring-messaging 7.0.0 Javadoc.


🏁 Script executed:

#!/bin/bash
# Get build.gradle content directly
echo "=== build.gradle content ==="
cat build.gradle

echo -e "\n=== Searching for javax imports (jakarta compatibility risk) ==="
rg -n --type=java 'import javax\.' | head -30

echo -e "\n=== RabbitMQMessagingService.java imports ==="
cat src/main/java/edu/kit/datamanager/service/impl/RabbitMQMessagingService.java | head -50

Length of output: 295


🌐 Web query:

Spring Framework 7.0 jakarta package migration breaking changes

💡 Result:

Key breaking changes when migrating to Spring Framework 7.0 (focused on the Jakarta package migration) — short checklist and action items:

What changed

  • javax.* → jakarta.: Spring 7’s baseline is Jakarta EE 11; Java EE APIs previously under javax. (servlet, persistence, validation, etc.) must be jakarta.* in your code and dependencies. [1][2]
  • Minimum ecosystem upgrades: Tomcat 11 (Servlet 6.1), Hibernate ORM 7.x (JPA 3.2), Bean Validation 3.1 and other Jakarta‑11 compatible libs are expected. [1][2]
  • Jackson 3 default: Spring 7 defaults to Jackson 3.x (new package/behavior changes); Jackson 2.x support is deprecated. Update code that relies on Jackson 2.x specifics. [3]
  • API removals/deprecations: some older Spring APIs that were already deprecated in 6.x are removed or tightened (nullability via JSpecify, other refactors). Review the Spring 7 upgrade notes/changelog for component‑specific breaking changes. [1][2]

Practical migration steps

  • Do a global search/replace for javax.* → jakarta.* (but be careful — only for EE APIs). Validate compile-time errors to find missed imports. [2]
  • Upgrade related dependencies to Jakarta‑compatible versions (Tomcat 11+, Hibernate 7+, validator 9+, Spring Data 3.x+/compatible stacks). [1][2]
  • Update Jackson usage (migrate to Jackson 3 APIs or verify compatibility). [3]
  • Replace or update third‑party libs that still use javax.*; if unavailable, use a bytecode/package-rewrite solution (OpenRewrite rules, Gradle/Maven jakarta‑migration plugins or repackaged artifacts) until vendors upgrade. [4][5]
  • Run tests (unit + integration) and check runtime container compatibility (servlet containers, app servers). [1]

Tools & references for automated help

  • OpenRewrite (automatic recipes for javax→jakarta rewrites)
  • gradle/nebula jakartaee migration plugins or similar repackaging tools to shim old dependencies. [4]

Primary sources

  • Spring Framework 7.0 GA / release notes. [1]
  • “From Spring Framework 6.2 to 7.0” (planning & Jakarta EE baseline details). [2]
  • Spring note on Jackson 3 default support in 7.x. [3]
  • Grails/Spring ecosystem notes about using Jakarta migration plugins (example plugin usage). [4]

If you want, I can:

  • scan a small sample of your code (pom/gradle + a few source files) and list concrete import changes and dependency upgrades; or
  • produce an OpenRewrite/gradle-jakartaee-migration plugin snippet you can drop into your build.

🏁 Script executed:

#!/bin/bash
# Use find to locate and read build.gradle
echo "=== Finding and reading build.gradle ==="
find . -name "build.gradle" -type f 2>/dev/null | head -1 | xargs -I {} cat {}

echo -e "\n=== Searching for all Spring dependencies in gradle files ==="
find . -name "*.gradle" -type f 2>/dev/null -exec grep -l "org.springframework" {} \;

echo -e "\n=== Extract spring-amqp or spring-rabbit versions ==="
find . -name "*.gradle" -type f 2>/dev/null -exec grep -H "spring.*amqp\|spring.*rabbit" {} \;

echo -e "\n=== Check for javax imports in messaging-related files ==="
find . -path "*/RabbitMQMessagingService.java" -o -path "*/LogfileMessagingService.java" 2>/dev/null | xargs grep -h "^import javax\." 2>/dev/null | sort -u

Length of output: 8202


🏁 Script executed:

#!/bin/bash
# Alternative: check if codebase has gradle wrapper to understand build system
echo "=== Checking gradle wrapper version and project structure ==="
[ -f "./gradlew" ] && echo "✓ Gradle wrapper found" || echo "✗ No gradle wrapper"
[ -f "./settings.gradle" ] && echo "✓ settings.gradle found" || echo "✗ No settings.gradle"

echo -e "\n=== List top-level gradle files ==="
ls -la *.gradle 2>/dev/null || echo "No gradle files in root"

echo -e "\n=== Try to extract spring-messaging version from dependencies ==="
find . -name "build.gradle" 2>/dev/null -exec grep "spring-messaging" {} + 2>/dev/null

Length of output: 403


Based on the critical findings from build.gradle analysis, I can now generate the rewritten review:


⚠️ Spring messaging 7.0.0 is incompatible with Spring Boot 3.5.7.

The explicit dependency on org.springframework:spring-messaging:7.0.0 conflicts with Spring Boot 3.5.7, which uses Spring Framework 6.2.x. This creates a version mismatch where incompatible versions of the Spring framework are forced together on the classpath, likely causing:

  • Classpath conflicts and class loading errors
  • API incompatibilities between spring-messaging 7.0 and other 6.2.x Spring components
  • Runtime failures in message processing

Fix required before merge:

Either:

  1. Upgrade to Spring Boot 4.0+ (or compatible version that uses Spring Framework 7.x), OR
  2. Revert spring-messaging to match Spring Boot 3.5.7's Spring Framework 6.2.x baseline (use 6.2.12 or compatible 6.2.x version)

Do not merge with this version mismatch. Verify your intended target Spring/Spring Boot version and ensure all Spring framework dependencies align.


🌐 Web query:

Spring Boot 3.5.7 Spring Framework version compatibility

💡 Result:

Spring Boot 3.5.7 is built against (uses) Spring Framework 6.2.12. [1][2]

Sources:

  • Spring blog release notes (Spring Framework 6.2.12 shipped with Spring Boot 3.5.7). [1]
  • spring-boot-starter-web 3.5.7 dependency listing showing spring-web/spring-webmvc 6.2.12. [2]

Fix version incompatibility: Spring messaging 7.0.0 cannot be used with Spring Boot 3.5.7.

Spring Boot 3.5.7 uses Spring Framework 6.2.12 transitively. The explicit dependency on org.springframework:spring-messaging:7.0.0 creates a major version conflict—Spring 7.0 introduces breaking changes incompatible with the 6.2.x components already on the classpath, causing API mismatches and runtime failures.

Required resolution:

Choose one:

  • Upgrade to Spring Boot 4.0 or later (which aligns with Spring Framework 7.x), OR
  • Revert spring-messaging to 6.2.12 (matching Spring Boot 3.5.7's baseline)

Do not merge until versions are aligned.

🤖 Prompt for AI Agents
In build.gradle around line 74, the explicit dependency implementation
'org.springframework:spring-messaging:7.0.0' conflicts with Spring Boot 3.5.7
(which brings Spring Framework 6.2.12); replace or align versions to avoid
runtime/API mismatches by either downgrading the spring-messaging artifact to
6.2.12 to match the Boot-managed framework or upgrade the project to Spring Boot
4.0+ (and its BOM) so Spring Framework 7.x is supported; pick one of these two
paths and update the build.gradle dependency (or the Spring Boot version/BOM)
accordingly before merging.

// Spring Boot
implementation "org.springframework.boot:spring-boot-starter-data-rest"
implementation "org.springframework.boot:spring-boot-starter-amqp"
Expand All @@ -88,7 +88,7 @@ dependencies {
implementation "org.springdoc:springdoc-openapi-starter-webmvc-api:${springDocVersion}"
// apache
implementation "commons-configuration:commons-configuration:1.10"
implementation "commons-io:commons-io:2.20.0"
implementation "commons-io:commons-io:2.21.0"
implementation "org.apache.commons:commons-collections4:4.5.0"
// includes commons-lang3
implementation "org.apache.commons:commons-text:1.14.0"
Expand All @@ -102,15 +102,14 @@ dependencies {
implementation "com.h2database:h2:2.4.240"
implementation "org.postgresql:postgresql:42.7.8"
// XML
implementation "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.20.0"
implementation "com.fasterxml.jackson.module:jackson-module-afterburner:2.20.0"

implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.0"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.20.0"
implementation "com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.20.1"
implementation "com.fasterxml.jackson.module:jackson-module-afterburner:2.20.1"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.1"
implementation "com.fasterxml.jackson.datatype:jackson-datatype-joda:2.20.1"

//implementation "com.monitorjbl:spring-json-view:1.0.1"

implementation "de.codecentric:spring-boot-admin-starter-client:3.5.5"
implementation "de.codecentric:spring-boot-admin-starter-client:3.5.6"
// log4j core
implementation "org.apache.logging.log4j:log4j-core"
implementation "ch.qos.logback:logback-classic"
Expand All @@ -122,7 +121,7 @@ dependencies {

// monitoring
implementation 'io.micronaut.micrometer:micronaut-micrometer-registry-prometheus:5.13.1'
implementation 'org.springframework.boot:spring-boot-starter-actuator:3.5.6'
implementation 'org.springframework.boot:spring-boot-starter-actuator:3.5.7'

testImplementation "junit:junit:4.13.2"
testImplementation "org.springframework:spring-test"
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down