geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <>
Subject [jira] Created: (GERONIMO-2204) ProxyMethodInterceptor doesn't handle finalize appropriately
Date Wed, 19 Jul 2006 07:12:13 GMT
ProxyMethodInterceptor doesn't handle finalize appropriately

                 Key: GERONIMO-2204
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: kernel
    Affects Versions: 1.1
            Reporter: David Jencks
         Assigned To: Dain Sundstrom
            Priority: Minor

A user noticed that while debugging in eclipse (or idea with break-on-exceptions turned on)
this method from ProxyMethodInterceptor throws UnsupportedOperationException when finalize
is called on a proxy object:

    public final Object intercept(final Object object, final Method method, final Object[]
args, final MethodProxy proxy) throws Throwable {
        ProxyInvoker gbeanInvoker;

        int interfaceIndex = proxy.getSuperIndex();
        synchronized (this) {
            if (gbeanInvokers == null) {
                throw new DeadProxyException("Proxy is no longer valid");
            gbeanInvoker = gbeanInvokers[interfaceIndex];

        if (gbeanInvoker == null) {
            throw new UnsupportedOperationException("No implementation method: objectName="
+ abstractName + ", method=" + method);

        return gbeanInvoker.invoke(abstractName, args);

This appears to be harmless since the proxy doesn't implement finalize, but annoying.  We
could fix this by explicitly ignoring the finalize method in the code above, possibly by installing
a suitable FinalizeInvoker, or by using a CallbackFilter with  a Noop or SerizializableNoop
callback (the strategy used by spring aop).

Is this worth fixing? Which way would be best? 

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:


View raw message