【发布时间】:2017-09-19 04:44:35
【问题描述】:
首先我很抱歉,因为这里已经回答了这个问题,但我认为我的情况有点不同。
How to communicate with jvmti agent attached on a running JVM
我的主要问题是... 我想知道是否有使用 JNI 或其他库在 JVMTI 本机代理和完全独立的 JVM 之间进行通信。
这是一个小插图
那么这里发生了什么。 左侧的 JVM 加载了本机代理。只是为了讨论,假设我无权访问这个 java 应用程序的源代码。因此,我使用 Java Native Agent 从对象中获取信息。
现在我想将信息传输到右侧的 JVM。由断开的链接表示。理想情况下,我想在 JVM2 上调用一个方法,让 Native Agent 从 JVM1 加载信息,然后将其返回给 JVM2。
我很确定我可以使用套接字来做到这一点,但我只是想知道我是否还有其他选择,例如使用 JNI 和注册本机代理或类似上一个答案中提到的东西。
【问题讨论】:
-
你想做什么?
-
在 jvmti 代理和单独的 jvm 之间通信 java 对象
-
我想我实际上可以将 JMX 客户端包装在 java-agent 中并以这种方式调用数据传输..
-
你想达到的目标是什么?
-
我不知道如何更具体。
标签: java jvm java-native-interface rmi jvmti