JRubyOnRailsに再挑戦

以前、JRubyOnRails に挑戦したもののうまく動作せずに放置しましたが、
JRuby1.1.4がリリースされたので再挑戦してみました。


今回の環境は、Windows XP + jruby 1.1.4 + Rails 2.1.0 + Glassfish です。
jrubyではsqlite3-rubyがサポートされてないくさいので、jdbc版を使いました。


以下、インストール&実行手順。

JDK

jdk5(SE)以降をインストールし、インストールディレクトリをJAVA_HOMEと設定。
%JAVA_HOME%\binをPATHに通す

JRuby

http://dist.codehaus.org/jruby/jruby-bin-1.1.4.zip

をダウンロードし、c:\jruby1.1.4あたりに解凍。
c:\jruby1.1.4\binを、PATHに通す。

Rubygemsでインストール

もとからRubygemsは入っています。
なので、早速、Railsなどをインストールします。

 jruby -S gem  install rails


DB関係はここをみてインストール(適当ですが・・・)

http://wiki.jruby.org/wiki/Running_Rails_with_ActiveRecord-JDBC

 jruby -S gem install activerecord-jdbsqlite3-adapter
 jruby -S gem install jdbc-sqlite3


Glassfish のインストール

 jruby -S gem install glassfish

Rails側の変更点

先ほどのJDBC関連のURLの中にあるように、


config/database.yamlに,

evelopment:
adapter: jdbcsqlite3
url: jdbc:sqlite:test.db


config/initializers/jruby.rbに、

if RUBY_PLATFORM =~ /java/
require 'rubygems'
gem 'activerecord-jdbcsqlite3-adapter'
require 'jdbc_adapter'
end

を記述。

Rails起動 (With Glassfish)

RAILS_ROOTにて、

 jruby -S glassfish_rails .

で起動します。


体感速度ですが、Mongrelよりはやいんじゃないかとおもったり。


しかし、とりあえず動作するもののなんか変です。

HTTP/1.1 200 OK Content-Type: text/html; charset=iso-8859-1 Transfer-Encoding: chunked Date: Mon, 01 Sep 2008 05:47:46 GMT

たまにこんなのがHTMLの最後に引っ付いてしまいます。
WEBrickの方では問題なさそうですが・・・。


追記:
F5を連打すると、GlassfishでもWEBrickでも、たまにIOエラーが発生してCSSがロードされないことが・・・・。