1

我有一个 Ruby on Rails 应用程序,模型中包含很多业务逻辑。我还有一个需要使用相同业务逻辑的 Java 后端进程。 如何将 Rails 应用程序打包到可以从 Java(使用 JRuby)调用的 jar 中?

出于性能原因,我需要直接在 Java 中访问代码。执行 HTTP 请求的开销太大。使用消息队列将不起作用,因为访问需要是同步的。

4

1 回答 1

1

你看过莺吗?

https://github.com/nicksieger/warbler

这将帮助您将 Rails 应用程序打包成战争。这对你有帮助吗?

或者,您可以只查看 warbler 生成的文件:它为每个 .rb 文件创建一个 .class 文件,然后生成一个包含 .class 文件的文件。也许你可以把它们装进罐子里。

此外,有关如何在 rails 应用程序之外从 jruby 访问 activerecord 的一些信息,请参阅“JRuby Cookbook”一书中的第 2.14 节。基本上,它涉及从 database.yml 读取配置,并使用 ActiveRecord.establish_connection 打开一个数据库连接,然后您只需要求它们即可访问您的模型。

于 2011-02-08T18:40:03.280 回答