Frode Carlsen created KAFKA-13027:
-------------------------------------

             Summary: Support for Jakarta EE 9.x to allow applications to 
migrate
                 Key: KAFKA-13027
                 URL: https://issues.apache.org/jira/browse/KAFKA-13027
             Project: Kafka
          Issue Type: Improvement
    Affects Versions: 2.8.0
            Reporter: Frode Carlsen


Some of the kafka libraries (such as connect-api) have direct dependencies on 
older Java EE 8 specifications (e.g. javax.ws.rs:javax.ws.rs-api:2.1.1).

This creates issues in environments upgrading to Jakarta 9.0 and beyond (9.1 
requires minimum Java 11).  For example upgrading web application servers such 
as migrating to Jetty 11.

The  main thing preventing backwards compatibility is that the package 
namespace has moved from "*javax.**" to "*jakarta.**", along with a few 
namespace changes in XML configuration files. (new specifications are published 
here [https://jakarta.ee/specifications/,] along with references to official 
artifacts and compliant implementations).

>From KAFKA-12894 (KIP-705) it appears dropping support for java 8 won't happen 
>till Q4 2022, which makes it harder to migrate to Jakarta 9.1, but 9.0 is 
>still Java 8 compatible.

Therefore, to allow projects that use Kafka client libraries to migrate prior 
to the full work being completed in a future Kafka version, would it be 
possible to generate Jakarta 9 compatible artifacts and dual publish these for 
libraries that now depend on javax.ws.rs / javax.servlet and similar? This is 
done by a number of open source libraries, as an alternative to having 
different release branches for the time being.   Other than the namespace 
change in 9.0 and minimum java LTS version in 9.1, the apis are fully 
compatible with Java EE 8.

As a suggestion, this fairly easy to do automaticallly using the 
[https://github.com/eclipse/transformer/] for migration (most projects end up 
publishing under artifacts with a either "-jakarta" as a suffix on the 
artifactId or classifier)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to