Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

71 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”Œ wo-adaptor-jetty

A Jetty-based WOAdaptor. Based on Jetty's own servlet-free APIs making it's relatively simple and lightweigt.

Usage

Build/install and add as a dependency to your app. Then pass the launch argument -WOAdaptor WOAdaptorJetty to your application.

<dependency>
	<groupId>is.rebbi</groupId>
	<artifactId>wo-adaptor-jetty</artifactId>
	<version>0.0.1-SNAPSHOT</version>
</dependency>

Why?

  • WebSockets.
  • I like having control over the HTTP-serving part of my apps.
  • The main adaptor for ng-objects is Jetty-based so a Jetty-based WOAdaptor allows WO and ng to be served from the same app/Jetty server instance.

Does it work?

Works great. Since November 2025 I use it in all of my applications, some of which handle quite a bit of traffic, large file uploads, multipart requests etc.

Performance?

Running ab locally on my MacBook M4 to serve a simple ~230kb resource returns the following results, so performance is pretty great. Disabling KeepAlive (removing the -k parameter) slows us down by roughly half. Which is probably a more realistic benchmark. Not that common for legit clients to make 15.000 requests/sec to your app.

# ab -k -n 10000 -c 16 http://127.0.0.1:1200/Apps/WebObjects/Hugi.woa/res/app/ZillaSlab-Light.ttf

Concurrency Level:      16
Time taken for tests:   0.692 seconds
Complete requests:      10000
Failed requests:        0
Keep-Alive requests:    10000
Total transferred:      2399870000 bytes
HTML transferred:       2398360000 bytes
Requests per second:    14460.19 [#/sec] (mean)
Time per request:       1.106 [ms] (mean)
Time per request:       0.069 [ms] (mean, across all concurrent requests)
Transfer rate:          3388922.70 [Kbytes/sec] received

About

πŸ”Œ A Jetty-based WOAdaptor

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages