2011-02-08 27 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