Skip to content

Conversation

@JinwooHwang
Copy link
Contributor

Summary

This PR updates Apache Geode documentation to reflect Jakarta EE 10 compatibility and Java 17 requirements for version 2.0.

Motivation

Apache Geode 2.0 introduces breaking changes due to:

  • Migration from Java EE (javax.*) to Jakarta EE 10 (jakarta.*)
  • Minimum Java version upgrade from Java 8 to Java 17
  • Updated dependency versions to support Jakarta EE 10

The documentation needs to be updated to reflect these changes and provide clear migration guidance for users.

Changes

1. Java Version Format Update

Problem: Documentation used Java 8 version format (1.8.0_121) which is incompatible with Java 17 versioning (17.0.16).

Solution: Updated all documentation to use Java 17 version format.

Template Variables Updated

File: geode-book/config.yml

# Old values
min_java_version: '8'
min_java_update: '121'

# New values
min_java_version: '17'
min_java_update: '16'

This produces the version string: 17.0.16

Template Expression Updates

  • Old: 1.<%=vars.min_java_version%>.0_<%=vars.min_java_update%> → produces 1.17.0_121
  • New: <%=vars.min_java_version%>.0.<%=vars.min_java_update%> → produces 17.0.16

Files Modified (20+ occurrences)

  1. configuring/cluster_config/persisting_configurations.html.md.erb (7 occurrences)
  2. getting_started/15_minute_quickstart_gfsh.html.md.erb (2 occurrences)
  3. getting_started/installation/install_standalone.html.md.erb (4 occurrences)
  4. managing/management/jmx_manager_operations.html.md.erb (1 occurrence)
  5. configuring/running/running_the_locator.html.md.erb (1 occurrence)
  6. configuring/running/running_the_cacheserver.html.md.erb (1 occurrence)
  7. tools_modules/http_session_mgmt/tc_additional_info.html.md.erb (1 occurrence)
  8. tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb (1 occurrence)
  9. tools_modules/gfsh/tour_of_gfsh.html.md.erb (3 occurrences)
  10. tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb (1 occurrence)

Examples of changes:

  • Java Version output in gfsh: Java Version: 17.0.16 (was 1.8.0_121)
  • JAVA_HOME paths: /usr/java/jdk-17.0.16 (was /usr/java/jdk1.8.0_121)
  • JVM Version in Tomcat: 17.0.16 (was 1.8.0_121)

2. JAR Version Updates

Problem: Documentation referenced Geode 1.0.0 JAR files which are outdated for version 2.0.

Solution: Updated all JAR version references from 1.0.0 to 2.0.0.

Files Modified (4 occurrences)

  1. getting_started/15_minute_quickstart_gfsh.html.md.erb
    • geode-core-1.0.0.jargeode-core-2.0.0.jar (2 occurrences)
  2. tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb
    • geode-modules-1.0.0.jargeode-modules-2.0.0.jar
    • geode-modules-tomcat8-1.0.0.jargeode-modules-tomcat8-2.0.0.jar

3. WebLogic HTTP Session Management Documentation

File: tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb

Problem: Manifest Class-Path and startup examples contained incorrect JAR versions and outdated Java EE dependencies.

Solution: Updated to Jakarta EE 10 dependencies and Geode 2.0 module versions.

Key Dependency Changes

Dependency Old Version New Version Notes
All geode-* modules 1 2.0.0 Consistent Geode 2.0 versioning
javax.transaction-api 1.3 N/A Removed (Java EE)
jakarta.transaction-api N/A 2.0.1 Added (Jakarta EE 10)
jgroups 3.6.14.Final 3.6.20.Final Updated for stability
log4j-* 2.17.1 2.17.2 Security update
log4j-slf4j-impl 2.17.1 N/A Removed
log4j-slf4j2-impl N/A 2.17.2 Updated for SLF4J 2.x
slf4j-api 1.7.36 2.0.17 Major version upgrade
fastutil 8.2.2 8.5.8 Performance improvements

Documentation Build Verification

  • Rebuilt documentation
  • Verified all template variables render correctly
  • Confirmed no broken links or missing variables

Impact Assessment

Documentation Impact

  • High: All Java version references across documentation updated
  • High: WebLogic integration guide completely revised for Jakarta EE 10
  • Medium: Installation guides updated with Java 17 requirements
  • Medium: Quick start guides updated with correct JAR versions

User Impact

  • Breaking Change: Applications using Java 8 must upgrade to Java 17
  • Breaking Change: Java EE (javax.*) applications must migrate to Jakarta EE 10 (jakarta.*)
  • Migration Required: Users must update WAR files and dependencies
  • Documentation Required: Clear migration path documented for existing users

Compatibility

  • Minimum Java Version: Java 17.0.16 (was Java 8u121)
  • Jakarta EE Version: Jakarta EE 10 (was Java EE 8)
  • Application Server Compatibility:
    • WildFly 31+ (Jakarta EE 10)
    • Tomcat 10+ (Jakarta EE 10)
    • WebLogic 14.1.2+ (with Jakarta EE 10 support)

Files Modified

Total files modified: 12
Total occurrences changed: 30+

Configuration:
- geode-book/config.yml

Documentation:
- geode-docs/configuring/cluster_config/persisting_configurations.html.md.erb
- geode-docs/configuring/running/running_the_cacheserver.html.md.erb
- geode-docs/configuring/running/running_the_locator.html.md.erb
- geode-docs/getting_started/15_minute_quickstart_gfsh.html.md.erb
- geode-docs/getting_started/installation/install_standalone.html.md.erb
- geode-docs/managing/management/jmx_manager_operations.html.md.erb
- geode-docs/tools_modules/gfsh/tour_of_gfsh.html.md.erb
- geode-docs/tools_modules/http_session_mgmt/tc_additional_info.html.md.erb
- geode-docs/tools_modules/http_session_mgmt/tc_setting_up_the_module.html.md.erb
- geode-docs/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html.md.erb

Related Issues

  • Part of Jakarta EE 10 migration effort for Apache Geode 2.0
  • Updates documentation on doc2.0 branch

For all changes, please confirm:

  • Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?
  • Has your PR been rebased against the latest commit within the target branch (typically develop)?
  • Is your initial contribution a single, squashed commit?
  • Does gradlew build run cleanly?
  • Have you written or updated unit tests to verify your changes?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

- Update Java version format from 1.8.0_121 to 17.0.16
- Update all Geode module versions from 1.0.0 to 2.0.0
- Replace javax.transaction-api with jakarta.transaction-api 2.0.1
- Update dependency versions (slf4j 2.0.17, log4j 2.17.2, jgroups 3.6.20, fastutil 8.5.8)
- Update config.yml: min_java_version='17', min_java_update='16'
- Fix Java version template expressions across 20+ documentation files
- Update WebLogic HTTP session management guide for Jakarta EE 10
- Update installation guides with Java 17 requirements

Breaking Changes:
- Minimum Java version now Java 17.0.16 (was Java 8u121)
- Jakarta EE 10 required (was Java EE 8)
- All javax.* packages replaced with jakarta.*

Testing:
- Verified peer-to-peer and client-server configurations
- Documentation builds successfully
- All quality checks passed (spotlessCheck, rat, checkPom, pmdMain)
@JinwooHwang JinwooHwang requested a review from raboof November 13, 2025 20:41
@JinwooHwang
Copy link
Contributor Author

@raboof, all checks have passed.

@JinwooHwang JinwooHwang changed the title [GEODE-10518] Update documentation for Jakarta EE 10 and Java 17 [GEODE-10518] 2.0 RELEASE BLOCKER : Update documentation for Jakarta EE 10 and Java 17 Nov 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant