在另一个java进程上使用反射

时间:2013-06-04 19:09:50

标签: java reflection

基本上我有另一个java进程,为简单起见,我将其称为Test.jar。我有另一个程序,我们称之为Program.jar。我的目标是能够在我的计算机上运行Test.jar,然后在Program.jar中运行我希望能够找到并检测Test.jar的正确进程,如果Test.jar没有运行或者没有找到它将只显示某种消息来启动Test.jar,并能够用反射或类似的东西来操纵它。基本上挂钩到不同的java进程。

这可能吗?有没有人知道任何有关信息的资源?感谢

好的,关于XY问题的帖子也是如此。我会说得更清楚。

我有一个客户端需要身份验证才能进入它。一旦登录,客户端就会一直在计算机上运行,​​我需要做的是创建一个第三方程序,它将挂钩到客户端并告诉它连接到某个主机(可能是通过使用已经存在的方法在客户端)而不修改客户端本身的源代码。

1 个答案:

答案 0 :(得分:0)

进程无法“调用”其他进程的方法。这两个进程完全由操作系统分隔。

进程可以通过网络进行通信,即使它们在同一台计算机上运行也是如此。您可以实现自己的协议并通过TCP发送消息,而其中一个进程(似乎您的测试)将是服务器而其他进程是客户端。但是,您可以使用更高级别的工具(例如RMI)来简化任务。但是,您似乎需要更高级别的API,例如JMX。

因此,如果您描述了所有要求,我建议您使用JMX。

但如果有其他要求,请描述一下。我建议你在这里描述你的任务,因为它是由产品管理定义的。您的Program.jar和Test.jar是您的架构的一部分,可能不是最佳选择,所以我相信如果您描述您真正需要的东西,社区可以帮助您做出更好的设计。

祝你好运。