Hello

I'd like to announce new minor releases of Pax Web: 8.0.10 and 9.0.1.

There were quite a few actual bug fixes related to how TCCL is configured
and how default context can be overriden.

Jetty and Tomcat runtimes are upgraded and the current versions are:

   - Jetty 9.4.49.v20220914
   - Tomcat 9.0.67
   - Undertow 2.2.19.Final

There's a new PID configuration option called "org.ops4j.pax.web.tccl.type"
introduced with this issue
<https://github.com/ops4j/org.ops4j.pax.web/issues/1760>[1]. It accepts two
options:

   - "servlet" (which is the default) - TCCL inside service methods (like
   servlet.doGet()) is set to an OsgiServletContextClassLoader which delegates
   to all the bundles that are reachable for the context - this is perfect
   setting for a WAB scenario, however in Whiteboard scenario, TCCL doesn't
   delegate to bundles of the dynamically registered servlets! The problem is
   that each time a servlet is whiteboard-registered into a context, servlet's
   bundle would have to be added to the underlying list of bundles, but it
   causes classloader leaks due to the very JVM specification
   - "whiteboard" - TCCL is set for each service method (separately for
   each filter and target servlet in invocation chain) to a bundle classloader
   of the actual filter/servlet

The problem with TCCL is that no OSGi CMPN specification mentions TCCL at
all and I simply followed the "principle of least surprise
<https://en.wikipedia.org/wiki/Principle_of_least_astonishment>"[2].

For completeness, the changelogs is available for 8.0.10[3] and 9.0.1[4].

kind regards
Grzegorz Grzybek
===
[1]: https://github.com/ops4j/org.ops4j.pax.web/issues/1760
[2]: https://en.wikipedia.org/wiki/Principle_of_least_astonishment
[3]: https://github.com/ops4j/org.ops4j.pax.web/milestone/224?closed=1
[4]: https://github.com/ops4j/org.ops4j.pax.web/milestone/225?closed=1

Reply via email to