Используйте модели Ruby ActiveRecord в Java - PullRequest
1 голос
/ 08 февраля 2011

У меня есть приложение Ruby on Rails с большим количеством бизнес-логики, содержащейся в моделях. У меня также есть бэкэнд-процесс в Java, который должен использовать ту же бизнес-логику. Как мне упаковать приложение Rails в jar, который я могу вызвать из Java (используя JRuby)?

Мне нужно получить доступ к коду непосредственно в Java по соображениям производительности. Выполнение HTTP-запроса требует слишком много времени. Использование очереди сообщений не будет работать, поскольку доступ должен быть синхронным.

1 Ответ

1 голос
/ 08 февраля 2011

Вы смотрели на камышевку?

https://github.com/nicksieger/warbler

Это поможет вам упаковать приложение rails в войну. Это тебе поможет?

В качестве альтернативы, вы можете просто посмотреть на файлы, которые генерирует warbler: он создает файл .class для каждого файла .rb, а затем генерирует файл, содержащий файл .class. Возможно, вы могли бы взять их и упаковать в банку.

Кроме того, для получения дополнительной информации о том, как получить доступ к activerecord из jruby вне приложения rails, смотрите раздел 2.14 из книги «JRuby Cookbook». По сути, это включает чтение конфигурации из database.yml и открытие соединения с БД с использованием ActiveRecord.establish_connection, после чего вы готовы получить доступ к своим моделям, просто потребовав их.

...