0

我想一直运行一个 Java 程序和一个 Ruby 程序,如果需要,我希望两者都能相互通信,而不需要一个程序在每次需要时调用另一个程序(就像 JRuby 正在尽我所能想办法)。

我需要类似 HTTP 请求或类似的东西,我可以使用 Ruby 脚本传递的参数调用 Java 程序中的方法。


具体场景如下:我的服务器上运行了一个Siri-Proxy 。当我的插件识别某些指定的命令时,它必须与一些用 Java 编写的中间件进行通信(需要传递给中间件的是房间、要处理的元素和要执行的操作)。

这样,中间件将能够处理请求并在更多操作方面模块化,例如将参数写入数据库或与某些家庭控制软件交互。

4

1 回答 1

3

我不确定您到底要什么,但进程间通信(IPC) 是——如前所述——一个非常广泛的领域。

可能的解决方案包括从简单的共享文件写入/读取、通过套接字和嵌入式网络服务器到消息队列中间件。根据您的情况,一个单独的 AMQP 或 Redis 服务器处理通信可能是矫枉过正。另一方面,如果不仔细进行文件交换,则很容易出错。

您还可以在 Ruby 程序中轻松实现 HTTP 服务器,Java 应用程序向该服务器提交请求以建立单向通信设置。

如果您需要更准确的答案,请同时提供更多信息。你的目标到底是什么?性能有问题吗?它应该只是为了测试目的吗?您要传输什么样的数据?

于 2013-05-20T18:24:17.973 回答