You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Erik-Berndt Scheper (JIRA)" <ji...@apache.org> on 2008/12/03 12:43:44 UTC
[jira] Issue Comment Edited: (AXIS2-4163) ServiceClient -
finalize() method calls super.finalize() too early
[ https://issues.apache.org/jira/browse/AXIS2-4163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12652735#action_12652735 ]
fbascheper edited comment on AXIS2-4163 at 12/3/08 3:42 AM:
---------------------------------------------------------------------
cleanup() is called too late in the finalizer chain.
See also: https://www.securecoding.cert.org/confluence/display/java/OBJ02-J.+Avoid+using+finalizers
was (Author: fbascheper):
cleanup() is called too late in the finalizer chain
> 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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org