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

Frode Carlsen commented on KAFKA-13027:
---------------------------------------

[~dongjin] do you have an idea of when this might be published?

For client libraries it might be prudent to allow a transition phase in which 
both javax and jakarta is supported for new versions. This would not require a 
full update to jetty 11, but could use alternative strategies for client-side 
libraries, for example such as:
 * (I've created a PR for the Confluent Schema Registry Client here, that 
eliminates the JavaEE/Jakarta dependencies: 
[https://github.com/confluentinc/schema-registry/pull/1933]
 * Use [eclipse-transformer|https://github.com/eclipse/transformer] to publish 
alternative client artifacts (used by swagger, hibernate, etc.) during the 
transition

> 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