Skip to content

Instantly share code, notes, and snippets.

@iconara
Last active August 29, 2015 14:04
Show Gist options
  • Save iconara/a1c72265072956ca715f to your computer and use it in GitHub Desktop.
Save iconara/a1c72265072956ca715f to your computer and use it in GitHub Desktop.
Does a working JRuby web server exist?

Does a working JRuby web server exist?

Notes of the different Rack compatible web servers that exist for JRuby and their issues.

Puma

Puma's IO reactor doesn't handle errors very well. It can enter an endless loop where it will write error messages to $stderr, which is not fun if you redirect that to a log file.

Jubilee

It looked very promising and then development stopped. Has multiple errors in the request body handling, some are fixed but unreleased, some remain.

rack-jetty

Abandoned two years ago. Does not handle request bodies over 4KiB.

Trinidad

Can't be run from within a JAR file.

Fishwife

Request bodies are not rewindable. It also mutates the hash of headers you return from your app, which is inconvenient.

Torquebox

Unclear whether or not v3 works since it's not usable as an embeddable web server (nothing wrong with that, it's just not what we're looking for). v4 looks promising.

@shishirsharma
Copy link

What is your conclusion on this? We are using Puma, and We keep hitting this endless loops and puma error logs keep filling up the entire disk and that server just dies.

@iconara
Copy link
Author

iconara commented Apr 30, 2015

@shishirsharma sorry, I had completely missed your comment (this was mostly some notes for myself so I didn't expect any). Fishwife is the only one so far that isn't very buggy and is embeddable (the rewind-issue has been fixed since I initially wrote this).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment