私は次のような問題があります。ワイヤ上でタイプ(java.lang.Class)を送信し、もう一方のクラスを '定義'したいと思います。クラスをワイヤで送信する方法
私はそのようにしようとした:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(MyClass.class);
と受信側:
ByteArrayInputStream bis = new ByteArrayInputStream(request.getBytes());
ObjectInputStream ois = new ObjectInputStream(bis);
Class c = (Class) ois.readObject(); // ClassNotFoundException
ので、明らかに私はクラスの生のバイトコードを送信し、
ClassLoader.defineClass(bytes, ..
を行う必要があります
しかし残念ながら私はロードされたクラスのバイトコードをどのように取り出すことができないのか分かりません。私のようなものを探してい :
byte[] byteCode = MyClass.class.toByteArray();
は、標準のJDKでさえも可能です。このまたはそれを行うことができますそこにどんな小さなlibにはありますか?
あなたはRMIを再発明しようとしているようですね。 –