2011-02-08 89 views
1

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

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

回答

1

你看过莺吗?

https://github.com/nicksieger/warbler

这将有助于您打包的Rails应用程序拖入战争。这会帮助你吗?

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

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

+0

谢谢!我认为这正是我所期待的。 – 2011-02-08 22:51:39