Usando javaassist logré convertir un objeto no serializable en
serializable.
No es que hiciera nada groso, solo usé el API. Lo bueno es que SI
FUNCIONA!
Object o = new TestObject();
System.err.println("-> [" + ( o instanceof Serializable ) +
"]"); // da false
ClassPool pool = ClassPool.getDefault();
Loader cl = new Loader(pool);
CtClass cc = pool.get("ar.com.dypsa.test.TestObject");
CtClass _serializable = pool.get("java.io.Serializable");
CtClass[] _interfaces = { _serializable };
cc.setInterfaces(_interfaces);
Class c = cl.loadClass("ar.com.dypsa.test.TestObject");
Object oo = c.newInstance();
System.err.println("-> [" + ( oo instanceof Serializable ) +
"]"); // da true
System.err.println("done");
|