在正在运行的Ruby和Java程序之间进行通信

时间:2013-05-20 18:03:35

标签: java ruby request siri bridge

我想一直运行一个Java程序和一个Ruby程序,如果需要,我希望彼此之间进行通信,而不需要一个程序在每次需要时调用另一个程序(比如JRuby做得很远)我能算出来的。)

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


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

这样,中间件就能够处理请求,并且可以采取模块化措施,例如将params写入数据库或与某些家庭控制软件交互。

1 个答案:

答案 0 :(得分:3)

我不确定,你究竟要求的是什么,但Inter-process communication(IPC)是 - already stated - 一个非常广泛的领域。

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

你也可以在你的Ruby程序中easily实现一个HTTP服务器,Java应用程序提交请求以建立单向通信。

如果您需要更精确的答案,请同时提供更多信息。你的目标是什么完全?性能是一个问题吗?它应该仅用于测试目的吗?您想传输哪种数据?