[ 
https://issues.apache.org/jira/browse/KAFKA-13027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17373488#comment-17373488
 ] 

Dongjin Lee commented on KAFKA-13027:
-------------------------------------

Hi [~frocarz],

Thank you for raising this issue. I have worked with several Jetty-related 
issues in Kafka Connect and now testing a Java 11/Jetty 11 migration of Kafka 
Connect. (note: I linked the issue.)

I totally agree that we need to provide a way for the connect users to prepare 
the migration into the Jakarta namespace. However, although Jakarta 9.0 
supports Java 8, the Jetty 9.4.x (currently used one) does not support the 
Jakarta 9; Jetty 11 (which requires Java 11 and Servlet 5.0) will be the first 
version supports the Jakarta namespace first. 
([#1|https://www.eclipse.org/jetty/download.php] 
[#2|https://www.eclipse.org/jetty/]) So I think we can't do this right now.

+1. In fact, I am working on a preview version with Java 11/Jetty 1 now. As you 
can see [here|https://github.com/dongjinleekr/kafka/tree/feature/KAFKA-12359], 
it does not include any `javax.*` packages in `connect:api`. Could you have a 
look at when the preview is released?

> 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
>            Priority: Major
>
> 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