nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

Torquebox 2.0.0.Beta1を試す

JBoss Advent Calendar 2011の23日目のエントリです。Ruby Advent Calendar jp: 2011 の19日目の記事でも紹介されていました。ありがとうございます。

Torquebox 2JBoss AS7をベースとしたJRubyアプリケーションサーバです。他にもJBoss AS7をベースとしたClojureアプリケーションサーバImmutantなんてのもあります。Bob McWhirter率いるProject:oddの作品で、最近ではawestructという静的HTML生成を行うフレームワークを発表しています。BobはJBossのフェローであり、Codehausの創始者であり、dom4jDroolsのオリジナルの作者であり、Javaのライブラリで"werken"という語やパッケージ名が入っているものの作者です。

Torqueboxをgemを利用してインストールします。以下の例では普段使ってるJRubyとは別の場所にJRubyを展開して実行しています。

$ cd ~/tmp
$ tar xzf jruby-1.6.5.tar.gz
$ cd jruby-1.6.5
$ export JRUBY_HOME=`pwd`
$ export PATH=$JRUBY_HOME/bin:$PATH
$ jruby -S gem install torquebox-server --pre --source http://torquebox.org/2x/builds/LATEST/gem-repo/

アプリケーションを書きましょう。今回はSinatraを使います。Ruby on Railsとか使ってももちろん良いです。~/tmp/hellosinatra/というディレクトリにconfig.ruとapp.rbという二つのファイルを作ります。

$ mkdir -p ~/tmp/hellosinatra
$ cd ~/tmp/hellosinatra

config.ru

require './app'

run Sinatra::Application

app.rb

require 'sinatra'

get '/' do
  "はろー"
end 

実行する前にRackとSinatraをインストールするのを忘れずに。デプロイして実行。

$ jruby -S gem install rack sinatra
$ torquebox deploy
$ torquebox run

http://localhost:8080/ にアクセスすると「はろー」が表示されます。簡単ですね。