java - JVMTI 代理和单独的 JVM 之间的通信

标签 java jvm java-native-interface rmi jvmti

首先,我深表歉意,因为这已经在这里得到了一些回答,但我认为我的情况有点不同。

How to communicate with jvmti agent attached on a running JVM

我的主要问题是... 我想知道是否有任何方法使用 JNI 或其他库在 JVMTI native 代理和完全独立的 JVM 之间进行通信。

这是一个小插图

enter image description here

那么这里发生了什么。 左侧的 JVM 加载了 native 代理。出于讨论目的,我们假设我无法访问此 java 应用程序的源代码。因此,我使用 Java Native Agent 从对象中获取信息。

现在我想将信息传输到右边的JVM。由损坏的链接表示。理想情况下,我想在 JVM2 上调用一个方法,让 native 代理从 JVM1 加载信息,然后将其返回到 JVM2。

我很确定我可以使用套接字来做到这一点,但我只是想知道这里是否还有其他选择,例如使用 JNI 和注册 native 代理或上一个答案中提到的类似内容。

最佳答案

既然没有人回复,我就在这里发帖说我将使用套接字。

这是我使用的一个示例。

sending doubles via TCP between Boost ASIO server and Java client

关于java - JVMTI 代理和单独的 JVM 之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43555268/

相关文章:

java - Corba NamingContextExtStub.resolve 找不到对象绑定(bind)我做错了什么?

java - jvm字长和操作数栈

Java - 将 jar 中的 dll 文件写入硬盘?

java - 如何调整输入图像的大小

Java:SAX 忽略模式验证

java - 在java中循环selenium webdriver脚本但具有不同的值

java - 设计服务启动界面

java - 哪个引用终结器(FinalReference)或弱/幻影/软引用对于GC具有更高的优先级

java - Windows 和 Unix 之间的 ZoneDateTime 精度差异

java - 更改包名时找不到 native 方法