In unseren letzten Projekten konnten wir mit Ruby on Rails 3 wiederholt positive Erfahrungen sammeln. Kürzlich schickten wir dann unser erstes Rails-3-Projekt mit JRuby-1.6.3 auf den Weg. Ein Erfahrungsbericht...

Da die Veröffentlichung von Rails 3.1 in's Haus stand, starteten wir unser Projekt mit dem neuesten Releasekandidaten Rails 3.1.0-rc6, um dann zeitnah auf die finale Version wechseln zu können.

Gleich zu Beginn stellte sich jedoch heraus, dass der activerecord-jdbcmysql-adapter in der neuesten Version 1.1.3 noch nicht mit Rails 3.1 kompatibel ist. Ein korrektes Handling von Arel::InsertManager-Instanzen bei SQL-Inserts musste durch einen MonkeyPatch erwirkt werden. Nach der Behebung dieses Problems warf ActiveRecord einen ArgumentError, der offensichtlich spezifisch beim Zusammenspiel von activerecord-3.1.0 und activerecord-jdbc-adapter-1.1.3 auftritt.

An diesem Punkt entschieden wir uns kurzfristig, auf die stabile Version von Rails 3.0 zu wechseln. Diese Entscheidung erwies sich als richtig, da auf dieser Basis das Grundgerüst unserer Anwendung in kürzester Zeit stand und die Anwendungsentwicklung zügig Fahrt aufnehmen konnte. Die Einbindung unserer MySql-Datenbanken auf Entwicklungs- und Testservern funktionierte problemlos und auch die Konfiguration des Bundlers auf unserem Linux-BuildServer verlief erfolgreich.

Am 31.08.2011 ist nun Rails 3.1 veröffentlicht worden. Unsere jüngsten JRuby-Projekte werden wir auf diese Version updaten, sobald eine für Rails 3.1 angepasste Version vom activerecord-jdbc-adapter vorliegt.

Wir halten Euch auf dem Laufenden!

JRuby Downloadseite
activerecord-jdbc-adapter Bugreport #86
Rails 3.1 Release Notes