gpt4 book ai didi

java - 管理进程和子进程之间应该如何进行进程间通信?

转载 作者:行者123 更新时间:2023-11-30 11:36:13 25 4
gpt4 key购买 nike

我有五个独立的 java 进程;它们作为业务逻辑模块运行。如果我可以启动/ping/监视/消息子进程,我想开发我的进程管理应用程序。

此外,它可能会通过 rest-ws 或最坏情况下的 rmi 调用与子进程共享缓存等资源,因为这需要额外的开销。

我倾向于基于 web 服务的 api,它将不断发送有关在流程中运行的业务逻辑的信息。这些进程可以是数据搅动、计算、通知进程引擎。

有什么想法吗?

最佳答案

一种选择是使用 JMX,并发布一个或多个 MBean。甲骨文有 documentation on it .您可以使用来自进程的请求信息,或向它们发送信号以改变它们的行为。

您要做的事情的大致轮廓是决定您需要在每个子进程中远程公开哪些方法。他们每个人都应该用这些方法定义一个接口(interface),然后是该接口(interface)的实现。然后这些实现需要在 MBeanServer 中注册。

这种方法的优点是您将立即获得一个基本的“管理应用程序”,因为您可以针对您的进程打开 JConsole 并使用 MBean。如果您随后希望创建一个单独的应用程序来更清晰地呈现您的数据,您可以在闲暇时这样做,而无需更改子进程。

无论如何,这种方法并不能真正让您“共享缓存”,但在进程(或机器)之间共享缓存应该是一个单独的问题(我认为)。

关于java - 管理进程和子进程之间应该如何进行进程间通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14616929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com