Skip to content

Commit

Permalink
Jetty now puts its logs on stdout.
Browse files Browse the repository at this point in the history
  • Loading branch information
Don Werve committed Mar 13, 2010
1 parent 3596706 commit 55d7598
Showing 1 changed file with 10 additions and 17 deletions.
27 changes: 10 additions & 17 deletions lib/rack/handler/jetty.rb
Expand Up @@ -3,14 +3,9 @@
#

require 'java'
#require 'rubygems'
require 'rack'
require 'rack/servlet'

# Make sure we're on JRuby.
raise("Rack::Handler::Jetty only runs on JRuby.") \
unless (RUBY_PLATFORM =~ /java/)

# Load Jetty JARs.
jars = %w(cometd-api-1.0.0rc0.jar
cometd-java-server-1.0.0rc0.jar
Expand All @@ -24,37 +19,34 @@
jetty-servlets-7.0.1.v20091125.jar
jetty-util-7.0.1.v20091125.jar
servlet-api-2.5.jar)

jars.each { |jar|
require File.join(File.dirname(__FILE__), '..', '..', 'java', jar) }
#Dir[path].each { |jar| require jar }

# We don't want to mix our logs in with Solr.
# FIXME: Implement a custom logger.
java.lang.System.setProperty("org.eclipse.jetty.util.log.class",
"org.eclipse.jetty.util.log.StdErrLog")

class Rack::Handler::Jetty
# Include various Jetty classes so we can use the short names.
# include_class 'org.eclipse.jetty.servlet.DefaultServlet'
include_class 'org.eclipse.jetty.server.Server'
include_class 'org.eclipse.jetty.servlet.ServletContextHandler'
include_class 'org.eclipse.jetty.servlet.ServletHolder'
include_class 'org.eclipse.jetty.util.thread.QueuedThreadPool'
include_class 'org.eclipse.jetty.util.thread.ExecutorThreadPool'
include_class 'org.eclipse.jetty.server.nio.SelectChannelConnector'
# include_class 'org.eclipse.jetty.server.handler.ContextHandlerCollection'
# include_class 'org.cometd.server.continuation.ContinuationCometdServlet'
# include_class 'org.eclipse.jetty.continuation.ContinuationThrowable'
# include_class 'org.eclipse.jetty.servlet.FilterMapping'

def self.run(app, options = {})
# The Jetty server
server = Server.new

# Thread pool
thread_pool = QueuedThreadPool.new
thread_pool.min_threads = 5
thread_pool.max_threads = 200
thread_pool = ExecutorThreadPool.new
server.set_thread_pool(thread_pool)

# Connector
connector = SelectChannelConnector.new
connector.port = options[:Port].to_i
connector.setPort(options[:Port].to_i)
connector.setHost(options[:Host])
server.addConnector(connector)

# Servlet context.
Expand All @@ -69,6 +61,7 @@ def self.run(app, options = {})

# Add the context to the server and start.
server.set_handler(context)
puts "Started Jetty on #{connector.getHost}:#{connector.getPort}"
server.start
end
end
Expand Down

0 comments on commit 55d7598

Please sign in to comment.