可以使用从远程主机连接的Java代理传递数据吗?

问题描述

我见过这样的示例,其中可以使用Byte Buddy将代理附加到正在运行的Java进程。

 public static void premain(String args,Instrumentation instrumentation) {

        File file ;
        try {
                file = (new File("BBAgent.jar"));
                ByteBuddyAgent.attach(file,"21345");
            }
            catch (Exception e)
            {
                e.printstacktrace();
            }

// Code to access objects in the original running process here.

    }
}

我的问题是,是否可以通过在附件下方添加其他代码来访问原始过程中的对象?还是必须在jar文件附件中打包任何在原始过程中访问数据的代码

解决方法

否,如果不序列化对象,则无法将它们从一个Java进程转移到另一个Java进程。例如,您可能需要打开一个套接字,以将字节从一个进程传输到另一个进程,在那里您肯定可以发送序列化的对象。