Hello

Few years ago, when I started thinking about javax → jakarta move (IMO one
of the biggest mistakes in Java history), I thought that it'll be a tough
problem for OSGi...

However it turns out that
https://docs.osgi.org/specification/osgi.cmpn/8.1.0/ somehow tries to live
with this (wrt web stuff):

   - chapter 102 (HttpService with direct API to `registerServlet()`) is
   gone
   - chapter 128 (Web Applications) is not touched a lot and still refers
   to javax, but only for "loose" dependencies, as it's not an API chapter,
   only high level chapter about WARs and WABs. So if underlying web
   technology moves to jakarta, it's straightforward to migrate
   - chapter 140 (Whiteboard) is renamed to from "Http Whiteboard
   Specification" to "Whiteboard Specification for Jakarta™ Servlet" and it's
   the most important change

Mind that I have no idea about other javax stuff (JPA? JTA?):

   - 123 JTA Transaction Services Specification - is still about
   javax.transaction (mind that javax.transaction.xa is NOT going to be
   Jakartified, as it's part of JavaSE - another reason it's a silly move)
   - 127 JPA Service Specification is still about javax.persistence
   - 147 Transaction Control Service Specification still mentions
   javax.transaction and javax.persistence
   - 151 Whiteboard Specification for Jakarta™ RESTful Web Services is
   moved to jakarta
   - 152 CDI Integration Specification is still about javax.enterprise

So while I really work on Pax Web 10 (see
https://github.com/ops4j/org.ops4j.pax.web/issues/1802), I'm not sure who
(if anyone) will deal with JPA, JTA and CDI stuff...

Also FYI, there are proposals:

   - https://github.com/osgi/osgi/issues/575 - jakarta websockets (at OSGi
   WG meeting I mentioned that Pax Web already supports WebSocket whiteboard
   pattern)
   - https://github.com/osgi/osgi/issues/587 - Jakarta WS (SOAP).... Yes
   this SOAP.

And about Karaf 5 - I fully agree that if it arrives, it should be like
Spring Boot 3 - get rid of javax (where possible) and move to jakarta.

And yes - it's OSGi, so we can have 13 Guava versions installed (yep - I've
seen it) and we can have 4 Servlet API versions too. However Pax Web 10
will NOT support both javax and jakarta runtimes - it _may_ do
whiteboarding of javax.servlet.http.HttpServlet services, but only to wrap
them and register in (as of 2023-09):

   - Jetty 12
   - Tomcat 10.1 (Tomcat 11 is for Servlet API 6.1 and JDK 21)
   - Undertow 2.3

I hope you'll find this summary useful.

regards
Grzegorz Grzybek

czw., 21 wrz 2023 o 23:05 Łukasz Dywicki <l...@code-house.org> napisał(a):

> I guess we could lift version, other projects (ie. ActiveMQ) aim jakarta
> in next major version. For them its more of the JMS API change, for us
> its more of other dependencies.
> However, it is not entirely clear to me how the osgi specs will go,
> cause we have there some to follow. I know pax stuff is going to
> deliver, its just a question of "compatibility".
> I wouldn't hold a breath on spec alignment, but having some clear guide
> of how 5.0 will work with new/old stuff can help us evangelizing
> community about possible troubles or further work ahead of them.
>
> Cheers,
> Łukasz
>
> On 21.09.2023 19:52, Matt Pavlovich wrote:
> > Hi JB-
> >
> > For Jakarta-based Karaf, should we go ahead and call it Karaf 5.0.0?
> >
> > -Matt
> >
> >> On Sep 21, 2023, at 10:45 AM, Jean-Baptiste Onofré <j...@nanthrax.net>
> wrote:
> >>
> >> Hi guys,
> >>
> >> now that we released Karaf OSGi runtime 4.4.4 and 4.3.10:
> >> - I updated main branch to use 4.5.0-SNAPSHOT branch
> >> - I created karaf-4.4.x branch
> >>
> >> As a reminder, karaf-4.3.x will move "not active" when the first 4.5.0
> >> version will be released.
> >>
> >> Regards
> >> JB
> >
>

Reply via email to