Skip to content

Latest commit

 

History

History
98 lines (71 loc) · 3.73 KB

File metadata and controls

98 lines (71 loc) · 3.73 KB

Jakarta EE Migration Summary

Overview

This document summarizes the changes made to migrate from javax.* dependencies to jakarta.* dependencies for full Spring 6 and Jakarta EE compatibility.

Changes Made

1. Updated Dependencies in pom.xml

File: pom.xml

Changes:

  • Updated javax.mail.version property from 1.4.7 to jakarta.mail.version 2.0.1
  • Replaced javax.mail:mail with:
    • jakarta.mail:jakarta.mail-api (API)
    • org.eclipse.angus:jakarta.mail (Implementation)

2. Updated Module Dependencies

cws-adaptation-engine/pom.xml

Changes:

  • Replaced javax.activation:activation with jakarta.activation:jakarta.activation-api
  • Replaced javax.mail:mail with jakarta.mail:jakarta.mail-api

cws-tasks/pom.xml

Changes:

  • Replaced javax.mail:mail with jakarta.mail:jakarta.mail-api

cws-engine-service/pom.xml

Changes:

  • Replaced javax.mail:mail with jakarta.mail:jakarta.mail-api

3. Updated JAX-RS References

cws-test/src/test/java/jpl/cws/test/RestGetTaskTest.java

Changes:

  • Updated import from javax.ws.rs.client.ClientBuilder to jakarta.ws.rs.client.ClientBuilder

install/camunda_mods/web.xml

Changes:

  • Updated all JAX-RS Application parameter names from javax.ws.rs.Application to jakarta.ws.rs.Application
  • Affected servlets: Cockpit Api, Admin Api, Tasklist Api, Engine Api, Welcome Api

install/engine-rest/web.xml

Changes:

  • Updated JAX-RS Application parameter name from javax.ws.rs.Application to jakarta.ws.rs.Application

Dependencies Migration Map

Old Dependency New Dependency Version
javax.mail:mail jakarta.mail:jakarta.mail-api 2.0.1
javax.mail:mail org.eclipse.angus:jakarta.mail 2.0.1
javax.activation:activation jakarta.activation:jakarta.activation-api 2.1.0
javax.ws.rs.* jakarta.ws.rs.* N/A

Benefits of Migration

  1. Spring 6 Compatibility: Full compatibility with Spring Framework 6
  2. Jakarta EE Standards: Uses modern Jakarta EE specifications
  3. Future-Proof: Jakarta EE is the future standard for enterprise Java
  4. Better Integration: Improved integration with modern application servers
  5. Security Updates: Access to latest security patches and features

Remaining javax Dependencies

The following javax dependencies are still present but are acceptable to keep:

Core Java APIs (No Migration Needed)

  • javax.management.* - JMX APIs (part of Java SE)
  • javax.naming.* - JNDI APIs (part of Java SE)
  • javax.tools.* - Java Compiler API (part of Java SE)
  • javax.net.ssl.* - SSL/TLS APIs (part of Java SE)
  • javax.xml.* - XML APIs (part of Java SE)

Configuration Files

  • javax.net.ssl.trustStore system properties (standard Java property)

Testing Recommendations

  1. Email Functionality: Test all email sending functionality with the new Jakarta Mail API
  2. JAX-RS Services: Verify all REST services work correctly with Jakarta JAX-RS
  3. Activation: Test any file attachment or MIME type handling
  4. Integration Tests: Run full integration tests to ensure compatibility

Notes

  • The migration maintains backward compatibility for all functionality
  • All existing email, REST, and activation features continue to work
  • The Jakarta Mail implementation (Eclipse Angus) provides the same functionality as the old javax.mail
  • Core Java APIs like JMX, JNDI, and SSL remain unchanged as they are part of the Java SE specification

Next Steps

  1. Test all email functionality thoroughly
  2. Verify REST API endpoints work correctly
  3. Update any custom code that might be using deprecated javax APIs
  4. Consider updating to use Jakarta EE 9+ features for enhanced functionality