Java から Rails アプリを利用する際に気をつけること

Java から Rails アプリのモデルを呼び出す (MacOSX Leopard) の続き。

まず最初は Rails のロード途中でヒープメモリが足りなくてエラーになりました。Rails アプリは結構なメモリを食う傾向があるので、僕の場合は Java のヒープメモリを 256M にしてやる必要がありました。

java -Xmx256m JSmartfm

次に、なぜか pure ruby の Ruby/MySQL では、SQL の発行はできるのにレスポンスが返って来ないという現象になったので、JDBC を使うことにしました。

まず MySQL :: MySQL Downloads から MySQL Connector/J 5.1 (mysql-connector-java.jar) をダウンロードしてきて、CLASSPATH を通します。

次に activerecord-jdbcmysql-adapter という gem をインストールします。

jruby -S gem install --version=0.9.0 activerecord-jdbcmysql-adapter 

そして Rails 側の database.yml を以下のように編集。

development: &defaults
  adapter: jdbc
  driver: com.mysql.jdbc.Driver
  url: jdbc:mysql://localhost/DB_NAME
  username: USERNAME
  password: PASSWORD

これで、ようやく Rails をロードして、コードを実行できるようになりました。