我设计了我的 java spring 应用程序来在同一台服务器上运行几个 python 程序并与它们通信。我使用 ProcessBuilder 运行它们并通过 InputStream/OutputStream 进行通信。
现在我想实现这一点,当我重新启动或关闭我的 java 应用程序时,python 应用程序没有关闭。我无法通过 PID 获取 Process 对象。使用 ProcessHandler 对象,我无法获得输入/输出流。看来我应该使用一些其他的 IPC 机制。所以问题是:
提前致谢,抱歉语言不好:)
答案 0 :(得分:0)
我就我们的项目经验提出一些建议:
在单台服务器中,无论使用java还是python,都使用docker-compose来运行/停止应用程序。在多服务器中,它们将部署在 Istio 中。
使用 Restful 协议在它们之间进行通信。