我正在寻找Java程序之间的基础IPC机制。我不喜欢使用套接字,因为我的代理商'产生新的JVM并在这样的环境中设置套接字有点复杂。
我在考虑每个生成的JVM有2个文件:in和out。在in中,代理将命令发送给worker。在外出时,工作人员会将响应发送回代理。
最大的问题是,到目前为止,我还没有设法使通信正常运行。只是创建ObjectOutputStream / ObjectInputStream并不是开箱即用的,因为readObject方法不会阻塞。当没有内容而不是阻塞时,它将抛出EOFException。幸运的是,通过添加延迟并稍后再尝试,这很容易解决。
所以我启动并运行了POC,但最终我遇到了流损坏问题。显然,即使只是附加模式,你仍然可能遇到腐败问题。所以我开始关注FileLock,但我现在正在运行#34;"主要" java.lang.Error:java.io.IOException:错误的文件描述符"。
所以直到目前为止,“让我们做简单的文件”#39;这是一项艰巨的任务,我不确定自己是否走在正确的道路上。我不想引入像JMS这样的重量级解决方案或像插座那样重量级的解决方案。有没有人知道解决这个特殊问题的极其简单的事情?我的偏好仍然是基于文件的方法。