You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Romain Manni-Bucau <rm...@gmail.com> on 2020/12/26 11:52:31 UTC

Jakarta target

 Hi everyone,

As a follow up of https://github.com/apache/cxf/pull/737 I'd like to
discuss the plain to support jakarta namespace.
To summarize the long exchanges of the thread, I think we should go with
relocations (shade plugin) and that's it - more details in the thread.
Markus wants/asked the big bang which happened on EE to happen on CXF.
Long story short I think it would wrongly deserve end users.

What do you think? Anything planned - there is no hurry indeed?

Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>

Re: Jakarta target

Posted by Dennis Kieselhorst <ma...@dekies.de>.
Hi folks,

I hope you had a nice christmas. Looking at our (especially enterprise) 
users I agree that it will take another 3-5 years to adopt Jakarta EE 
(if they do it, unfortunately some are just frustrated and therefore 
re-architecting to use a different stack). Personally I think we should 
support the efforts of the Jakarta EE WG to shape the future of 
Enterprise Java and thus I'd like to see us moving forward. However 
maintaining an additional branch in CXF for it (with the limited number 
of commiters we have) is something I wouldn't prioritize at the moment 
(haven't seen a single user asking for it), but I would definitely 
revisit this discussion in mid-2021.

Best,
Dennis

Re: Jakarta target

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Yes, few more info hoping it helps:

1. relocation does not prevent to implement new features, it just requires
to do it using org.apache.cxf.whatever.jakarta in javax codebase and
relocate it under jakarta package so no technical blocker for relocation
(very worse case some rewriting at build time with a transformer would work
too but I dont see the need for it)
2. Karaf mainly depends on the http/jaxrs whiteboards so it is more at OSGi
level but I don't think it will be jakarta friendly right now but in a few
- same as jakarta will die or be adopted I guess. Main issue is part of
javax leaked in the http-whiteboard API (same applies with osgi-cdi spec)
so just changing the impl under the hood is not trivial without a weaver
which is back to keeping javax branch IMO.
3. Overall goal of the shade is to avoid to maintain 2 branches which is
some work but also makes it harder to contribute IMHO. This stays until
there is a real big bang in the spec and cost(new feature) > cost(to
maintain 2 branches + use the relocation) [to have used it a few it is
quite late ;)].

Jersey is a RI so must be jakarta driven, Tomcat is used to handle active
branches (always ~3) - whereas CXF is not AFAIK, not sure for Jetty. The
overall point here is that it is really linked to "how to maintain the
forks/code base*s*". Shading reduces a lot the cost whereas fork makes it
quick and fast to have something working with the new namespace but harder
to maintain in the time in general.

My 2cts

Le sam. 26 déc. 2020 à 18:43, Andriy Redko <dr...@gmail.com> a écrit :

> Hey guys,
>
> I have been following somewhat heated discussion on the PR. At this moment
> I personally do not see a clear, the only way to support JakartaEE 9 where
> all
> impacted parties win. I think we should also align with the others projects
> the large parts of CXF heavily depend on: Apache Karaf, Spring, WSS4J,
> Tomcat,
> Jetty, Swagger.
>
> It is clear that we want to support JakartaEE 9 and this is the way
> forward.
> Nevertheless `javax` has been declared "dead", it won't be as such for the
> next
> 3-5 years (blind guess from past experiences). So we have to live with
> both
> for the time being.
>
> What could be the strategies (mainly conclusions from
> https://github.com/apache/cxf/pull/737 and
> personal thoughts)?
> 1) "Big bang": let say 4.x is moved completely to JakartaEE 9 (
> https://github.com/apache/cxf/pull/737),
>    3.5.x would stay on `javax`. AFAIK this is the route Jersey 3/2, Tomcat
> 10/9, Jetty 11/10 [1] [2]
>    have taken.
>
> 2) Keep Baseline on `javax` but use Maven Shade to relocate javax ->
> jarkarta packages. This is
>    well understood technique, it still require some code changes but much
> less than "big bang". It
>    should work in a short term but for a long run won't be sustainable
> (the definition of "long" is
>    uncertain).
>
> With respect to Spring, Apache Karaf, Swagger and others:
>  - Spring: "No immediate plans to support jakarta namespace ... Spring
> Framework 6 is likely to adopt the
>    jakarta namespace at a later point." [3]
>  - Apache Karaf: I was not able to find anything related to JakartaEE 9
> support, @Freeman Fang do you have
>    insights there?
>  - WSS4J: @Colm, any plans to share?
>  - Swagger: no plans yet [4]
>
> [1] https://webtide.com/renaming-from-javax-to-jakarta/
> [2] https://webtide.com/jetty-10-and-11-have-arrived/
> [3] https://github.com/spring-projects/spring-framework/issues/25354
> [4] https://github.com/swagger-api/swagger-core/issues/3836
>
> I think understanding the large picture is going to help us take a right
> approach.
> Thanks.
>
> Best Regards,
>     Andriy Redko
>
>
> Saturday, December 26, 2020, 6:52:31 AM, you wrote:
>
> RMB>  Hi everyone,
>
> RMB> As a follow up of https://github.com/apache/cxf/pull/737 I'd like to
> RMB> discuss the plain to support jakarta namespace.
> RMB> To summarize the long exchanges of the thread, I think we should go
> with
> RMB> relocations (shade plugin) and that's it - more details in the thread.
> RMB> Markus wants/asked the big bang which happened on EE to happen on CXF.
> RMB> Long story short I think it would wrongly deserve end users.
>
> RMB> What do you think? Anything planned - there is no hurry indeed?
>
> RMB> Romain Manni-Bucau
> RMB> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> RMB> <https://rmannibucau.metawerx.net/> | Old Blog
> RMB> <http://rmannibucau.wordpress.com> | Github <
> https://github.com/rmannibucau> |
> RMB> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> RMB> <
> https://www.packtpub.com/application-development/java-ee-8-high-performance
> >
>
>

Re: Jakarta target

Posted by Andriy Redko <dr...@gmail.com>.
Hey guys,

I have been following somewhat heated discussion on the PR. At this moment 
I personally do not see a clear, the only way to support JakartaEE 9 where all 
impacted parties win. I think we should also align with the others projects
the large parts of CXF heavily depend on: Apache Karaf, Spring, WSS4J, Tomcat,
Jetty, Swagger.

It is clear that we want to support JakartaEE 9 and this is the way forward.
Nevertheless `javax` has been declared "dead", it won't be as such for the next
3-5 years (blind guess from past experiences). So we have to live with both 
for the time being. 

What could be the strategies (mainly conclusions from https://github.com/apache/cxf/pull/737 and
personal thoughts)?
1) "Big bang": let say 4.x is moved completely to JakartaEE 9 (https://github.com/apache/cxf/pull/737), 
   3.5.x would stay on `javax`. AFAIK this is the route Jersey 3/2, Tomcat 10/9, Jetty 11/10 [1] [2] 
   have taken.
   
2) Keep Baseline on `javax` but use Maven Shade to relocate javax -> jarkarta packages. This is
   well understood technique, it still require some code changes but much less than "big bang". It 
   should work in a short term but for a long run won't be sustainable (the definition of "long" is 
   uncertain). 
   
With respect to Spring, Apache Karaf, Swagger and others:
 - Spring: "No immediate plans to support jakarta namespace ... Spring Framework 6 is likely to adopt the 
   jakarta namespace at a later point." [3]
 - Apache Karaf: I was not able to find anything related to JakartaEE 9 support, @Freeman Fang do you have 
   insights there? 
 - WSS4J: @Colm, any plans to share?
 - Swagger: no plans yet [4]
   
[1] https://webtide.com/renaming-from-javax-to-jakarta/
[2] https://webtide.com/jetty-10-and-11-have-arrived/
[3] https://github.com/spring-projects/spring-framework/issues/25354
[4] https://github.com/swagger-api/swagger-core/issues/3836

I think understanding the large picture is going to help us take a right approach.
Thanks.

Best Regards,
    Andriy Redko


Saturday, December 26, 2020, 6:52:31 AM, you wrote:

RMB>  Hi everyone,

RMB> As a follow up of https://github.com/apache/cxf/pull/737 I'd like to
RMB> discuss the plain to support jakarta namespace.
RMB> To summarize the long exchanges of the thread, I think we should go with
RMB> relocations (shade plugin) and that's it - more details in the thread.
RMB> Markus wants/asked the big bang which happened on EE to happen on CXF.
RMB> Long story short I think it would wrongly deserve end users.

RMB> What do you think? Anything planned - there is no hurry indeed?

RMB> Romain Manni-Bucau
RMB> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
RMB> <https://rmannibucau.metawerx.net/> | Old Blog
RMB> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
RMB> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
RMB> <https://www.packtpub.com/application-development/java-ee-8-high-performance>