0

我想知道使用 Runtime 从 Java 类执行 Ruby 脚本而不是使用 ruby​​-java 桥 JRuby 的优缺点是什么?

运行时示例

Process process = Runtime.getRuntime().exec("ruby start.rb blue_button_example_data.txt");
    try {
        process.waitFor();
    } catch (InterruptedException e) {
        e.printStackTrace();
        return;
    }

jRuby 示例http://dior.ics.muni.cz/~makub/ruby/

我之所以问,是因为我有一个遗留的 Java 系统,我们正在与一个具有 ruby​​ 脚本的系统进行集成,我们正在尝试重用它们而不是用 java 重写它们。我们想知道哪种方法最好。

谢谢!

4

1 回答 1

1

正如人们所提到的,JRuby可能会更快,但更重要的是,它可以让您与 Java 进行更紧密的集成:您可以从 JRuby 调用 Java 代码,反之亦然。这也可以让 Java 和 Ruby 之间的过渡更加顺畅,因为基础设施可以保持不变(您可以在 Java EE 应用程序服务器中部署 Rails 应用程序),并且开发人员可以在两者之间逐步切换。

有关集成的更多详细信息,请参阅JRuby wiki

JRuby 唯一的缺点是不能使用一些 MRI gem,因为它们使用的是本地代码——尽管这不是我最近被阻止的东西。

于 2012-09-18T12:10:21.113 回答