No commit activity in last 3 years
No release in over 3 years
A simple standalone jetty launcher for jruby rack apps
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.0.0
~> 1.6.4
>= 0

Runtime

~> 1.0.10
 Project Readme

jruby-rack-standalone-jetty

Provides a way to run jruby-rack with an embedded jetty, no WAR files or separate servlet container needed. You simply write a launcher script that contains code like this:

require 'jetty-runner'

jetty_options = {
  :host => 'localhost',
  :port => 4567,
  # jruby-rack context parameters:
  'jruby.rack.layout_class' => 'RailsFilesystemLayout',
  'gem.path' => '.',
  'rackup' => IO.read('config.ru')
}

server = JettyRunner.new(jetty_options)
server.run
server.join 

The options hash supports all jruby-rack context parameters.

Supported Jetty options:

  • :host The IP to bind to. localhost by default.
  • :port The port to use. If not specified then Jetty will use a random one.
  • :use_nio Whether to use NIO instead of blocking IO for HTTP (does not affect HTTPS). true by default
  • :min_threads The minimum number of threads. 10 by default.
  • :max_threads The maximum number of threads. 200 by default.
  • :low_threads The number of threads that are considered to be low. 50 by default.
  • :accept_queue_size The number of requests to be allowed in the accept queue. Uses the value of :max_threads by default.
  • :ssl_port The HTTPS port. If not specified (along with :keystore and :key_password) then HTTPS will not be enabled.
  • :keystore The keystore. If not specified (along with :ssl_port and :key_password) then HTTPS will not be enabled.
  • :key_password The password for the key in the keystore. If not specified (along with :ssl_port and :keystore) then HTTPS will not be enabled.
  • :keystore_type The type of the keystore. JKS by default.
  • :with_stats Whether to enable Jetty statistics and expose them via JMX. true by default.
  • :request_log The request log object to use (must implement org.mortbay.jetty.RequestLog). If neither this nor :request_log_path are specified, then request logging will not be enabled.
  • :request_log_path The path where the NCSARequestLog should log to. If neither this nor :request_log are specified, then request logging will not be enabled.
  • :resource_base Base folder for resolving resources (such as config.ru). Default is ..

Dependencies

This library requires that jetty 6.1.x and jruby-rack are in the classpath (it does not bundle them).