ServiceClient - finalize() method calls super.finalize() too early
------------------------------------------------------------------

                 Key: AXIS2-4163
                 URL: https://issues.apache.org/jira/browse/AXIS2-4163
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: client-api
    Affects Versions: 1.4.1
            Reporter: Erik-Berndt Scheper
         Attachments: stacktrace.txt

The finalize() method in ServiceClient.java incorrectly calls super.finalize() 
before cleaning up:

    protected void finalize() throws Throwable {
        super.finalize();
        cleanup();
    }

This leads to EJBClassLoader errors in GlassFish when the garbage collector 
runs. To fix this, it should be changed to:

// Manual finalizer chaining
@Override protected void finalize() throws Throwable {
    try {
        // Finalize subclass state
        cleanup();
    } finally {
        super.finalize();
    }
}

See attached stack trace for details.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to