【问题标题】:Communication between JVMTI agent and separate JVMJVMTI 代理和单独的 JVM 之间的通信
【发布时间】: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


【解决方案1】:

所以既然没有人回复,我就在这里发帖说我将使用 Sockets。

这是我使用的一个例子。

sending doubles via TCP between Boost ASIO server and Java client

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 2017-04-08
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多