Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Simple library to run rails and rackup applications into an embedded Apache Tomcat
Ruby

This branch is even with trinidad:rack

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
rakelib
spec
trinidad-libs
.gitignore
.travis.yml
Gemfile
Gemfile.lock
History.txt
LICENSE
README.md
Rakefile
trinidad.gemspec
trinidad_jars.gemspec

README.md

Trinidad

Trinidad allows you to run a rails or rackup applications within an embedded Apache Tomcat container.

Installation

$ jruby -S gem install trinidad

Usage

$ cd myapp
$ jruby -S trinidad

Configuration

Trinidad allows you to configure some parameters when the server is started from the command line, the following is a list of the currently supported options:

  • -p, --port PORT => port to bind to.
  • -e, --env ENVIRONMENT => rails environment.
  • -c, --context CONTEXT => application context path.
  • --lib, --jars LIBS _ DIR => directory containing jars.
  • --classes CLASSES _ DIR => directory containing classes.
  • -r, --rackup [RACKUP _ FILE] => run a provided rackup file instead of a rails application, by default it's config.ru.
  • --public PUBLIC _ DIR => specify the public directory for your application, by default it's 'public'.
  • -t, --threadsafe => shortcut to work in threadsafe mode. Setting jruby _ min _ runtimes and jruby _ max _ runtimes to 1 in the configuration file the server behaves as the same way.
  • -l, --load EXTENSION _ NAMES => load extensions to use their command line options.
  • --address HOST => set the server host.
  • -g, --log LEVEL => set the log level, default INFO.
  • --apps APPS _ BASE _ DIRECTORY => set the applications base directory.

You can also specify a default web.xml to configure your web application. By default the server tries to load the file config/web.xml but you can modify this path by adding the option default_web_xml within your configuration file.

Other advanced options can be found on the wiki: http://wiki.github.com/trinidad/trinidad/advanced-configuration

Yaml comfiguration

The server can also be configured from a yaml file. By default, if a file is not specified, the server tries to load the file config/trinidad.yml. Within this file you can add other options like jruby.min.runtimes(:jruby _ min _ runtimes) or jruby.max.runtimes(:jruby _ max _ runtimes).

$ jruby -S trinidad --config my _ custom _ configuration.yml
---
  port: 4000
  address: 0.0.0.0

Ruby configuration

You can use pure ruby to configure Trinidad. Actually, the yaml configuration file is mapped directly into this configuration. It follows the same convention as the yaml configuration so the file config/trinidad.rb is loaded by default if if exists.

Trinidad.configure do |config|
  c.port = 4000
  c.address = '0.0.0.0'
end

Hot deployment

Although the early versions of Trinidad used an extension to let deploy applications monitorizing a file, since Trinidad 1.1.0 this feature is integrated into the core. When the file tmp/restart.txt is modified, the server reloads the application that the file belongs. This file can be modified with the option monitor.

Extensions

From the version 0.8.0 Trinidad allows to extend the server with more Tomcat features, here there is a list with the current available extensions:

You can find further information on how to write your own extension in the wiki: http://wiki.github.com/trinidad/trinidad/extensions

Copyright

Copyright (c) 2011 David Calaveracalavera@apache.org. See LICENSE for details.

Something went wrong with that request. Please try again.