我计划使用Oracle提供的JVMTI API开发一个分析器。对于可视化,我想在代理代码之上实现一个GUI (Qt框架)。我的第一个jvmti代理已经准备好编译和运行了,我开始将这个代理集成到我的Qt项目中。
现在我面临的问题是如何将agent和GUI耦合起来。GUI应该在代理内部启动吗?例如在Agent_OnLoad函数中?
长期的做法是从GUI开始分析,尽管我无法想象如何实现这一点。
发布于 2011-03-15 17:14:06
好吧..。您有许多选择,其中最明显的是基于套接字的通信。您必须假设大多数分析用例都会涉及服务器上的远程无头JVM。在我的分析器中,您可以在与代理相同的机器上使用一个小型的启动/停止/控制实用程序进行无头操作,数据在服务器上收集并传输到客户端进行可视化。您还可以使用代理启动远程(或本地) jvm,并通过套接字从完整的GUI连接到侦听代理。通过该套接字收集到客户端。
还有一个新的"JVM“,它允许您将代理”插入“到已经运行的JVM中,因此,如果目标机器是UNI*,那么您可以从您的图形用户界面使用ssh/scp,并通过脚本将代理传输到服务器,然后使用SSH来启动连接。
所以..。套接字(IP和/或域),并将GUI中的代码重用于无头控制/收集客户端
https://stackoverflow.com/questions/5309505
复制相似问题