Rack Servlet Build Status

Embed JRuby Rack applications in your Java container.


In a Maven project, add rack-servlet and jruby-complete to your pom.xml:


Quick Start

// Use JRuby to build your Rack application:
ScriptingContainer ruby = new ScriptingContainer();
IRubyObject application = ruby.parse("lambda { |env| [200, {}, ['Hello, World!']] }").run();

// Build a RackServlet with that Rack application:
Servlet servlet = new RackServlet(new JRubyRackApplication(application));

// Install that servlet in your container...
// (See our examples directory for concrete code.)

In Depth



Rack Servlet grew out of our desire to embed Rack applications in Square's Java service container, in order to take advantage of our sophisticated infrastructure.

There are other options in the "run Rack applications on the JVM" space, all of which are shaped somewhat differently: