Tworzę proxy z javassistem ProxyFactory
. Podczas tworzenia pojedynczego proxy wszystko działa dobrze.Javassist: jak utworzyć proxy proxy?
Jednak, gdy mijam proxy obiektu do mechanizmu serwerów proxy, nie jest on z
javassist.bytecode.DuplicateMemberException: powielać metoda: SetHandler w com.mypackage.Bean _ $$ _ _ $$ _ javassist_0 javassist_1
Tworzę serwery proxy z tym:
public Object createProxiedInstance(Object originalInstance) throws Exception {
Class<?> originalClass = instance.getClass();
ProxyFactory factory = new ProxyFactory();
factory.setSuperclass(originalClass);
factory.setHandler(new MethodHandler() {..});
Class<T> proxyClass = factory.createClass();
return proxyClass.newInstance();
}
Tak, jak mogę utworzyć proxy proxy?
Update: rzeczywiste problemy, że każdy Pełnomocnik realizuje ProxyObject
określający setHandler(..)
metody. Drugi serwer proxy próbuje więc przedefiniować metodę, zamiast nadpisywać ją w podklasie.
Przy okazji, wydaje się, że to pierwsze pytanie o javassist. Jestem zaskoczony. – Bozho