Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Jetty 12 #16

Open
d-t-w opened this issue Apr 4, 2024 · 2 comments
Open

Support Jetty 12 #16

d-t-w opened this issue Apr 4, 2024 · 2 comments

Comments

@d-t-w
Copy link
Member

d-t-w commented Apr 4, 2024

Jetty 10 and 11 are now "Community EOL".

jetty/jetty.project#10485

Suggests it's beyond time to implement Jetty 12.

@d-t-w
Copy link
Member Author

d-t-w commented Jan 9, 2025

The time has come to move to Jetty 12 (9,10, and 11 are all now EOL).

Jetty 12 Architectural Overview: https://webtide.com/introducing-jetty-12/
Websockets in Jetty 12: https://jetty.org/docs/jetty/12/programming-guide/server/websocket.html#jetty
Migration guide: https://jetty.org/docs/jetty/12/programming-guide/migration/11-to-12.html

Current Clojure state-of-play for Embedded Jetty + Websockets (other than this project):

Ring Jetty9 Adapter

  • Limited to simple Embedded Jetty + Websockets
  • Uses Jetty 12
  • Ring dependency reduced due to choosing Jetty 12 without servlet implementation (good choice).

Project: https://github.com/sunng87/ring-jetty9-adapter
Apropos of nothing, this is a cool ticket: sunng87/ring-jetty9-adapter#104
Project owner does not use websockets: sunng87/ring-jetty9-adapter#115 (comment)
Ring WS integration fix: sunng87/ring-jetty9-adapter#121

Ring

  • Jetty presented as an 'adapter' to Ring
  • Uses Jetty 11
  • Plans to advance to 12 in the future

Project: https://github.com/ring-clojure/ring
Ring 'bump' to Jetty 12: ring-clojure/ring#512
Interesting Ring-Cors / Jetty issue to be mindful of: ring-clojure/ring#515

Sente

  • Uses Jetty 11, some current issues

Reintroduce Jetty9 support: taoensso/sente#426
Add Jetty11 adapter: taoensso/sente#447
Sente Ring 1.11 adoption (standard protocols): taoensso/sente#443
Sente Rj9a request: sunng87/ring-jetty9-adapter#89
Jetty related 500/upgrade error: taoensso/sente#460

@d-t-w
Copy link
Member Author

d-t-w commented Jan 9, 2025

Goals for This Ticket

  • Update to Jetty 12
  • Limit any dependency on Ring (remove if possible)
  • Integrate latest Sente, consider the cost of removing/replacing

Technical Decisions

  • Use Jetty Handler impl (no servlets)
  • Use Jetty Websocket impl (no need to conform to ring ws spec)
  • No code-sharing between 12 + 9/10/11 (EOL projects can continue to share, 12 separate)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant