【问题标题】:Use Ruby ActiveRecord models in Java在 Java 中使用 Ruby ActiveRecord 模型
【发布时间】:2011-02-08 18:36:59
【问题描述】:
我有一个 Ruby on Rails 应用程序,模型中包含很多业务逻辑。我还有一个需要使用相同业务逻辑的 Java 后端进程。 如何将 Rails 应用程序打包到可以从 Java(使用 JRuby)调用的 jar 中?
出于性能原因,我需要直接在 Java 中访问代码。执行 HTTP 请求的开销太大。使用消息队列将不起作用,因为访问需要同步。
【问题讨论】:
标签:
java
ruby-on-rails
jruby
jrubyonrails
【解决方案1】:
你看过莺吗?
https://github.com/nicksieger/warbler
这将帮助您将 Rails 应用程序打包成一个战争。这对你有帮助吗?
或者,您可以只查看 warbler 生成的文件:它为每个 .rb 文件创建一个 .class 文件,然后生成一个包含 .class 文件的文件。也许你可以把它们装进罐子里。
此外,有关如何在 rails 应用程序之外从 jruby 访问 activerecord 的一些信息,请参阅“JRuby Cookbook”一书中的第 2.14 节。基本上,它涉及从 database.yml 读取配置,并使用 ActiveRecord.establish_connection 打开一个数据库连接,然后您就可以通过要求它们来访问您的模型了。