Skip to content

CAMEL-23112 - Drop Support for JDK 17#21696

Merged
oscerd merged 4 commits intomainfrom
task-42
Mar 4, 2026
Merged

CAMEL-23112 - Drop Support for JDK 17#21696
oscerd merged 4 commits intomainfrom
task-42

Conversation

@oscerd
Copy link
Contributor

@oscerd oscerd commented Mar 3, 2026

  • Jenkinsfile: remove jdk_17_latest from matrix axis and JDK_FILTER choices, remove JDK 21 excludes on ppc64le/s390x so the new baseline runs on all platforms, move coverage profile to the JDK 21 build, and run Sonar analysis on JDK 21 instead of JDK 17
  • Jenkinsfile.deploy: default JDK changed to jdk_21_latest
  • Jenkinsfile.jbangtest: default JDK changed to jdk_21_latest

Description

Target

  • I checked that the commit is targeting the correct branch (Camel 4 uses the main branch)

Tracking

  • If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

  • I checked that each commit in the pull request has a meaningful subject line and body.
  • I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

@github-actions
Copy link
Contributor

github-actions bot commented Mar 3, 2026

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using build-all, build-dependents, skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@davsclaus
Copy link
Contributor

there is some more work in jbang I think

there are some java17 tests in kubernetes plugin (run and export)

the export flag for --java-version description says 17 or 21

@oscerd oscerd marked this pull request as draft March 3, 2026 18:11
@oscerd
Copy link
Contributor Author

oscerd commented Mar 3, 2026

yes, this the beginning. there is the virtual threads side

@Croway
Copy link
Contributor

Croway commented Mar 3, 2026

https://github.com/apache/camel-spring-boot/blob/main/core/camel-spring-boot/pom.xml#L277 this should be removed in camel spring boot, and the java21 (test) folder need to be merged with the java one.

I remember we had something similar in Camel too, but it seems like it was already removed

oscerd added 4 commits March 4, 2026 10:18
- Jenkinsfile: remove jdk_17_latest from matrix axis and JDK_FILTER
  choices, remove JDK 21 excludes on ppc64le/s390x so the new baseline
  runs on all platforms, move coverage profile to the JDK 21 build,
  and run Sonar analysis on JDK 21 instead of JDK 17
- Jenkinsfile.deploy: default JDK changed to jdk_21_latest
- Jenkinsfile.jbangtest: default JDK changed to jdk_21_latest

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
With JDK 21 as the minimum baseline, the multi-release JAR pattern
used in camel-util and camel-support for virtual thread support is
no longer needed.

Merge the JDK 21 source variants (src/main/java21/) into the main
source tree:
- ThreadType: now checks camel.threads.virtual.enabled system property
  directly instead of always returning PLATFORM
- CamelThreadFactory: now implements ThreadFactoryTypeAware with
  Thread.ofPlatform()/Thread.ofVirtual() builder support
- DefaultThreadPoolFactory: now includes ThreadPoolFactoryType enum
  with VIRTUAL variant using Executors.newThreadPerTaskExecutor()

Remove java-21-sources profile and Multi-Release JAR manifest entries
from both camel-util and camel-support pom.xml files.

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
With JDK 21 as the minimum baseline, JDK 17 is no longer a valid
choice for the camel-jbang export --java-version flag.

- Remove 17 from @metadata enums in CamelJBangConstants
- Update JBang script headers from JAVA 17+ to JAVA 21+
- Update ExportMainJibTest to test explicit Java 21 instead of 17
- Update MigrationTools to require Java 21+ for Camel 4.19+
- Regenerate metadata JSON and docs

Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
Signed-off-by: Andrea Cosentino <ancosen@gmail.com>
@oscerd oscerd marked this pull request as ready for review March 4, 2026 09:20
@oscerd
Copy link
Contributor Author

oscerd commented Mar 4, 2026

From this side this should be completed.

@oscerd oscerd merged commit ee62f2b into main Mar 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants