You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Matt Hogstrom (JIRA)" <de...@geronimo.apache.org> on 2005/11/10 20:25:04 UTC

[jira] Resolved: (GERONIMO-453) DerbySystemGBean doesn't call System.gc() in doStop() and soFail() as recommended in the Derby doco

     [ http://issues.apache.org/jira/browse/GERONIMO-453?page=all ]
     
Matt Hogstrom resolved GERONIMO-453:
------------------------------------

    Resolution: Fixed

Added System.gc()

Index: src/java/org/apache/geronimo/derby/DerbySystemGBean.java
===================================================================
--- src/java/org/apache/geronimo/derby/DerbySystemGBean.java    (revision 332238)
+++ src/java/org/apache/geronimo/derby/DerbySystemGBean.java    (working copy)
@@ -69,6 +69,7 @@
         } catch (SQLException e) {
             // SQLException gets thrown on successful shutdown so ignore
         }
+        System.gc();  // Added as documented in Derby Documentation
         log.info("Stopped");
     }

@@ -78,6 +79,7 @@
         } catch (SQLException e) {
             // SQLException gets thrown on successful shutdown so ignore
         }
+        System.gc();  // Added as documented in Derby Documentation
         log.info("Failed");
     }


> DerbySystemGBean doesn't call System.gc() in doStop() and soFail() as recommended in the Derby doco
> ---------------------------------------------------------------------------------------------------
>
>          Key: GERONIMO-453
>          URL: http://issues.apache.org/jira/browse/GERONIMO-453
>      Project: Geronimo
>         Type: Bug
>     Versions: 1.0-M4
>     Reporter: John Sisson
>     Assignee: Matt Hogstrom
>      Fix For: 1.0

>
> The Derby doco in the section "Shutting Down the System" at http://incubator.apache.org/derby/manuals/develop/develop12.html says the following:
>     Typically, an application using an embedded Derby engine shuts down Derby just before shutting itself down.
>     However, an application can shut down Derby and later restart it in the same JVM session. 
>     To restart Derby successfully, the JVM needs to unload org.apache.derby.jdbc.EmbeddedDriver, 
>     so that it can reload it when it restarts Derby. (Loading the local driver starts Derby.)
>     You cannot explicitly request that the JVM unload a class, but you can ensure that the EmbeddedDriver 
>     class is unloaded by using a System.gc() to force it to garbage collect classes that are no longer needed.
>     Running with -nogc or -noclassgc definitely prevents the class from being unloaded and makes you unable
>     to restart Derby in the same JVM.
> Anyone have any objections to the recommendation of calling System.gc()?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira