openhab / openhab-core

Core framework of openHAB
https://www.openhab.org/
Eclipse Public License 2.0
925 stars 428 forks source link

Upgrade to Jetty 10.x (or Jetty 11.x) #3315

Open joakime opened 1 year ago

joakime commented 1 year ago

Jetty 9.x is now at End of Community Support.

You should be using Jetty 10.x (or newer) at this point.

J-N-K commented 1 year ago

We are currently upgrading Karaf to 4.4.3 with PaxWeb 8.0.15 (i.e. Jetty 9.4.50). There is some work on Karaf 4.5.x which will support PaxWeb 9 and Jetty 10 (https://lists.apache.org/thread/4lwbt9g0w707zomnq6cfx179n8w90d3h) but we'll have to check when we see a release there.

andrewfg commented 1 year ago

@J-N-K 4yi, this relates to..

wborn commented 1 year ago

The upgrade in Karaf is tracked by issue KARAF-7544.

jlaur commented 1 year ago

I was checking release notes in relation to #3770 and saw this: https://issues.apache.org/jira/browse/CXF-8764. So for this library we are now at Jetty 10? So we are now bundling both Jetty 9 and 10 because of this dependency? Is it possible in the same way to decouple the dependency for PaxWeb, so that we can use Jetty 10 at the same time as PaxWeb still uses Jetty 9?

J-N-K commented 1 year ago

No, we currently only ship Jetty 9, as far as I can see we don't use the bundles that require jetty 10.

We could try if we can upgrade to PaxWeb 9 after Karaf 4.4 (because then we have SLF4J 2.0 available).

joakime commented 1 year ago

BTW, Jetty 12 was released. (with support for EE8 at java.servlet, EE9 at jakarta.servlet, and EE10 at jakarta.servlet at the same time)

Jetty's own tests use PaxWeb for each of these environments.

lolodomo commented 7 months ago

Any idea what will be required to change in bindings when moving to Jetty 10 ?

J-N-K commented 7 months ago

From my understanding moving to Jetty 10 (PaxWeb 9) only requires adjustments for websockets, see https://eclipse.dev/jetty/documentation/jetty-10/programming-guide/index.html#pg-migration.

lolodomo commented 7 months ago

Ok, we could then search in code for all the classes that have to be renamed.

andrewfg commented 7 months ago

^ FWIW when I wrote the Hue API v2 binding, I had to use quite low level HTTP2 code from Jetty 9.x because 10.x was not available. I am guessing that if OH shifts to Jetty 10 that low level code will not be broken. However there may be some opportunity to optimise the binding with newer Jetty 10 higher level features. This observation is fairly hypothetical. But I would look at it in detail once we get the first snapshots with Jetty 10..

jlaur commented 7 months ago

Probably there will also be some things to be sorted out with dependencies, i.e. Karaf requiring Jetty 9 (Upgrade to Jetty 10 and Pax Web 9)?

J-N-K commented 7 months ago

Correct, well upgrade when Karaf upgrades, and I think this is scheduled for Karaf 4.5.0.

openhab-bot commented 1 month ago

This issue has been mentioned on openHAB Community. There might be relevant details there:

https://community.openhab.org/t/unifi-binding-beta-3-2-0-3-6-0/131156/181

joakime commented 1 month ago

This issue has been open long enough that Jetty 10 and Jetty 11 are now at End of Community Support.

Jetty 12 is the only supported version of Jetty at this point in time.