需要提示将Java用于MRI Ruby应用程序

时间:2012-05-12 10:47:43

标签: java ruby jruby passenger rjb

我需要一些提示。

我有应用程序,它建立在MRI Ruby(1.9.3)+ Passenger

现在需要使用“Apache POI”(http://poi.apache.org/)功能扩展此应用程序。 “Apache POI”是Microsoft Documents的Java API。

在调查期间,我测试了:

  • “Apache POI”+ JRuby。这种组合非常有效。

  • “Apache POI”+ rjb(Ruby和Java之间的桥梁)+ MRI Ruby。这种组合非常有效。但在调查期间,我发表了各种评论,认为这种组合可能会有一些问题与乘客一起工作。 (我还没有测试过)

如果“Apache POI + rjb + MRI Ruby + Passenger”组合不起作用,你们可以提供哪些可能性/提示让我在我的应用程序中获得“Apache POI”?

我的意见:

  • 创建小型JRuby应用程序(支持Apache POI),然后使用REST API在MRI Ruby应用程序和JRuby应用程序之间建立连接。

2 个答案:

答案 0 :(得分:0)

如果您只需要Java来处理Excel电子表格,您可能需要考虑纯Ruby方法来创建Excel而不是涉及Java。

最简单的方法是生成Excel XML,就像我为我们的prod应用程序所做的那样:https://gist.github.com/1252406

另一种方法是使用电子表格gem:https://rubygems.org/gems/spreadsheet

答案 1 :(得分:0)

如果您使用“Apache POI + rjb + MRI Ruby + Passenger”,则需要将Passenger配置为在每次请求后重新启动。

http://www.modrails.com/documentation/Users%20guide%20Apache.html#_making_the_application_restart_after_each_request