Tag: cajo

本地JVM之间的通信

我的问题:我可以/应该采用什么方法在本地运行的两个或多个JVM实例之间进行通信? 问题的一些描述: 我正在为一个项目开发一个系统,该系统需要单独的JVM实例来完全隔离某些任务。 在它运行时,’父’JVM将创建它将期望执行的’子’JVM,然后将结果返回给它(以相对简单的POJO类或结构化XML数据的格式)。 不应使用SysErr / SysOut / SysIn管道传输这些结果,因为孩子可能已经将这些结果用作其运行的一部分。 如果子JVM在一定时间内没有响应结果,则父JVM应该能够通知子进程停止处理或终止子进程。 否则,子JVM应在完成其任务结束时正常退出。 迄今为止的研究: 我知道有许多技术可能有用,例如…… 使用Java的RMI库 使用套接字传输对象 使用Cajo,Hessian等分发库 …但我有兴趣听取其他人在推行其中一种方案或其他方案之前可能会考虑的方法。 感谢您对此提供任何帮助或建议! 编辑: 要转移的数据量相对较小,它主要只是少数包含字符串的POJO,这些字符串将代表子项执行的结果。 如果任何解决方案在大量信息上效率低下,这在我的系统中不太可能成为问题。 传输的数量应该是非常静态的,因此不必是可扩展的。 转移的延迟 –在这种情况下不是一个关键问题,尽管如果需要对结果进行任何“轮询”,这应该能够相当频繁而没有显着的开销,因此我可以在以后维护响应式GUI(例如进度条)