Sto creando dei proxy con javassist ProxyFactory
. Quando si crea un singolo proxy, tutto funziona correttamente.Javassist: come creare il proxy del proxy?
Tuttavia, quando passo davanti a un dell'oggetto proxy per il meccanismo di proxy, non riesce con
javassist.bytecode.DuplicateMemberException: Metodo di duplicazione: SetHandler in com.mypackage.Bean _ _ $$ javassist_0 _ _ $$ javassist_1
sto creando delle deleghe con questo:
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();
}
Allora, come faccio a creare i proxy di proxy?
Aggiornamento: I problemi reali è che ogni delega implementa l'ProxyObject
che definisce setHandler(..)
metodo. Quindi il secondo proxy sta cercando di ridefinire il metodo, invece di sovrascriverlo nella sottoclasse.
btw, questa sembra essere la prima domanda su javassist. Sono sorpreso. – Bozho