[Pax-Web] Update Tomcat Versions

45 views
Skip to first unread message

Stephan Siano

unread,
Jun 23, 2020, 3:19:38 AM6/23/20
to OPS4J
Hi,

It has been quite a while since the Tomcat version was updated in Pax-Web. The 7.2.x branch references Tomcat 8.5.32 and the 3.x and master branches references Tomcat 9.0.16.

These versions are from June 2018 and February 2019, so I think we should update to more recent versions 8.5.56 and 9.0.36.

What do you think?

Best regards
Stephan

Jean-Baptiste Onofré

unread,
Jun 23, 2020, 9:46:40 AM6/23/20
to OPS4J
Hi,

It sounds good. Tomcat 8.x should be easy, Tomcat 9 probably needs API updates.

Regards
JB


--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/e532dfc0-9e4a-40ad-b427-3c28130e4a36o%40googlegroups.com.

Grzegorz Grzybek

unread,
Jun 23, 2020, 10:03:22 AM6/23/20
to op...@googlegroups.com
Hello

  • Tomcat 8 update requires tipi release.
  • Pax Web 7.3.x already uses Tomcat 9 (I've released the tipi packages, based (as of pax web 7.3.7) 9.0.16 - remember, 7.3.x is the "tech preview release" with Servlet API 4 == Tomcat 9, Undertow 2 and unfortunately same Jetty 9 (because Jetty 10 will be Servlet API 4, but at the same time, it switches to jakarta.* packages....)
  • Pax Web 8 will use latest Tomcat 9 and get rid of tipi packages (Tomcat jars will be exported from pax-web-tomcat and pax-web-tomcat-common bundles (the latter is new)).
regards
Grzegorz Grzybek

Stephan Siano

unread,
Jul 6, 2020, 10:28:36 AM7/6/20
to OPS4J
Hi,

I released the two tipi versions. I also updated the 7.2.x branch and created a pull request for the 7.3.x branch. In order to achieve this, I had to update some integration tests (mainly timing and dependency issues) to get the tomcat integration tests working both with the old and the updated tomcat version.

I am a bit unsure how to proceed with the master and the master-improvements branch. The master branch does not seem very active to me (and is still on tomcat 8.5), the master-improvements branch seems to be work in progress. What is the current state of the tests in these branches? Should I update both of them? If yes, to which Tomcat version should I update the master branch, 8.5.56 as 7.2.x?

Best regards
Stephan

To unsubscribe from this group and stop receiving emails from it, send an email to op...@googlegroups.com.

--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to op...@googlegroups.com.

Jean-Baptiste Onofré

unread,
Jul 7, 2020, 12:51:08 AM7/7/20
to OPS4J
Hi Stephan,

Thanks for the update.

A side topic we already discussed a bit with Greg is about the effort to have more "isolated" bundles for jetty, tomcat and undertow. Today, we are suffering a lot to maintain at same level the Pax Web API with the three containers. Clearly some methods of the API are mostly Jetty related and not easy to implement with other containers.
So, I wonder at some point if we should not have pure httpService impl at a high level, and a specific service/API for each container.

It would allow us to simplify a lot Pax Web and move forward faster.

Regards
JB


To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ops4j/f38c4072-1558-40c7-aade-8d851a5b6febo%40googlegroups.com.

Grzegorz Grzybek

unread,
Jul 7, 2020, 1:41:09 AM7/7/20
to op...@googlegroups.com
Hello

The current state of pax-web, master-improvements branch is that I've successfully got rid of pax-tipi tomcat libraries. Sure - Tomcat libraries are not OSGi bundles, but I did something to make maintenance easier. pax-web simply re-exports all Tomcat packages explicitly by embedding necessary Tomcat libraries.
Even more - there are:
 - pax-web-tomcat-common - exports packages from tomcat-api, tomcat-util, tomcat-util-scan and selected packages from tomcat-embed-core
 - pax-web-tomcat - exports the rest

Why two bundles? Because pax-web-jsp (Jasper) heavily depends on some Tomcat packages and we need pax-web-jsp also with Undertow and Jetty.

Also - Undertow 2.1 dropped OSGi support... See https://issues.redhat.com/browse/UNDERTOW-1684, so if we want to have Undertow 2.1 at some point (and I think before pax-web 8 goes GA, we'll have to because of CVEs not being backported to 2.0) we'll have to re-export it anyway from pax-web-undertow.

I think not having TIPI will make it easier to maintain pax-web, because it'd be simply a matter of updating Pax Web to use newer upstream, original Tomcat version (and soon Undertow 2.1+).

During my PTO last week I worked a lot on resource support in Pax Web 8 (master-improvements) - this was very inconsistent and now I use original "default servlets" from each runtime, with some tweaks to make the consistent - welcome file handling unification was painful, but I did it! (trust me - dispatcher.include() with welcome files and default servlet mapped to something different than "/" was not an easy task ;).

During my work I've created these (so far) issues:

I hope to finish my refactoring before summer ends ;)

But fortunately, now master-improvements branch is in a state where I don't plan huge refactorings - I'm now mowing integration tests to new place (so I know what's working and what doesn't) and if you have time, I'll be happy to get some help here ;)

kind regards
Grzegorz Grzybek

Serge Huber

unread,
Jul 7, 2020, 7:32:11 AM7/7/20
to op...@googlegroups.com
Hi guys, 

Just a quick question: what's the use case for the support of Tomcat and Undertow?

Just wondering if it would be possible to focus on Jetty?

Regards,
  Serge... 

Serge Huber
CTO & Co-Founder

9 route des Jeunes | 1227 Acacias | Switzerland
  

> JOIN OUR COMMUNITY to evaluate, get trained and to discover why Jahia is a leading User Experience Platform (UXP) for Digital Transformation.



Grzegorz Grzybek

unread,
Jul 7, 2020, 7:42:47 AM7/7/20
to op...@googlegroups.com
Hello

wt., 7 lip 2020 o 13:32 Serge Huber <shu...@jahia.com> napisał(a):
Hi guys, 

Just a quick question: what's the use case for the support of Tomcat and Undertow?

Tomcat and Undertow were supported in Pax Web for long time - that's just Pax Web benefit over plain HttpService/Whiteboard implementation.

regards
Grzegorz Grzybek
 

Stephan Siano

unread,
Jul 7, 2020, 7:49:08 AM7/7/20
to OPS4J
Hi,

OK, I have the following state so far:

pax-web-7.2.x is on Tomcat 8.5.56, integration tests are running
pax-web-7.3.x is on Tomcat 9.0.36, integration tests are running
master is on Tomcat 8.5.56, integration tests compile (and as far as I can see they have the same issues as before)
master-improvements was already on Tomcat 9.0.36 (so I haven't done any change there). The unit tests in Pax-Web Tomcat fail, so I am not sure how the state is.

I agree that it will make things easier when the Tipi projects are removed from the release and the embedded Tomcat stuff is exposed by the Pax-Web-Tomcat and Pax-Web-Tomcat Common bundles. I will see when I can find time to help with the integration tests.

Aside from that I would like to create a 7.2.17 release to include in a custom karaf distribution in near future. I think I understand the technical things to do (tecnically the release procedure is probably the same as in pax-tipi), but I don't think that this is sufficient. Is there a defined procedure to produce release notes and to update the released versions in JIRA?

Best regards
Stephan

--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to op...@googlegroups.com.

Stephan Siano

unread,
Jul 7, 2020, 7:55:06 AM7/7/20
to OPS4J
Hi Serge,

We are using a custom karaf with the Tomcat container because we have a lot of tomcat specific stuff in the software that runs on top of it, so Tomcat support is quite crucial for us.

Best regards
Stephan


Am Dienstag, 7. Juli 2020 13:32:11 UTC+2 schrieb Serge Huber:
Hi guys, 

Just a quick question: what's the use case for the support of Tomcat and Undertow?

Just wondering if it would be possible to focus on Jetty?

Regards,
  Serge... 

Serge Huber
CTO & Co-Founder

9 route des Jeunes | 1227 Acacias | Switzerland
  

> JOIN OUR COMMUNITY to evaluate, get trained and to discover why Jahia is a leading User Experience Platform (UXP) for Digital Transformation.



--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to op...@googlegroups.com.

--
--
------------------
OPS4J - http://www.ops4j.org - op...@googlegroups.com

---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email to op...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages