Update of /var/cvs/src/org/mmbase/module/core In directory james.mmbase.org:/tmp/cvs-serv17231/src/org/mmbase/module/core
Modified Files: Tag: MMBase-1_8 MMObjectBuilder.java MMBase.java Log Message: MMB-1401 Serialization can corrupt MMBase database Shutdown MMEvents probe and builder See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/module/core See also: http://www.mmbase.org/jira/browse/MMB-1401 Index: MMObjectBuilder.java =================================================================== RCS file: /var/cvs/src/org/mmbase/module/core/MMObjectBuilder.java,v retrieving revision 1.391.2.15 retrieving revision 1.391.2.16 diff -u -b -r1.391.2.15 -r1.391.2.16 --- MMObjectBuilder.java 11 Apr 2008 15:18:30 -0000 1.391.2.15 +++ MMObjectBuilder.java 12 Apr 2008 10:43:04 -0000 1.391.2.16 @@ -62,7 +62,7 @@ * @author Rob van Maris * @author Michiel Meeuwissen * @author Ernst Bunders - * @version $Id: MMObjectBuilder.java,v 1.391.2.15 2008/04/11 15:18:30 nklasens Exp $ + * @version $Id: MMObjectBuilder.java,v 1.391.2.16 2008/04/12 10:43:04 nklasens Exp $ */ public class MMObjectBuilder extends MMTable implements NodeEventListener, RelationEventListener { @@ -540,6 +540,11 @@ return true; } + /** clean all acquired resources, because system is shutting down */ + public void shutdown() { + // on default, nothing needs to be done. + } + /** * Returns the builder object number, which also functions as the objecttype. * This is the same value as the value of the 'otype' field of objects created by this builder @@ -3091,6 +3096,7 @@ return true; } } + } Index: MMBase.java =================================================================== RCS file: /var/cvs/src/org/mmbase/module/core/MMBase.java,v retrieving revision 1.200.2.11 retrieving revision 1.200.2.12 diff -u -b -r1.200.2.11 -r1.200.2.12 --- MMBase.java 11 Apr 2008 08:40:46 -0000 1.200.2.11 +++ MMBase.java 12 Apr 2008 10:43:05 -0000 1.200.2.12 @@ -46,7 +46,7 @@ * @author Pierre van Rooden * @author Johannes Verelst * @author Ernst Bunders - * @version $Id: MMBase.java,v 1.200.2.11 2008/04/11 08:40:46 michiel Exp $ + * @version $Id: MMBase.java,v 1.200.2.12 2008/04/12 10:43:05 nklasens Exp $ */ public class MMBase extends ProcessorModule { @@ -423,26 +423,45 @@ } - // javadoc inherited + + /** + * @see org.mmbase.module.Module#shutdown() + */ public void shutdown() { mmbaseState = STATE_SHUT_DOWN; - // there all over the place static references to mmbasroot are maintained, which I cannot - // change presently. so let's clean up mmbaseroot itself as well as possible... - typeDef = null; - relDef = null; + //shutdown in the reverse order as init does + + org.mmbase.core.event.EventManager.getInstance().shutdown(); + + org.mmbase.util.ThreadPools.shutdown(); + + mmbaseCop = null; + + if (mmobjs != null) { + for (Iterator mmbobjecIter = mmobjs.values().iterator(); mmbobjecIter.hasNext();) { + MMObjectBuilder builder = (MMObjectBuilder) mmbobjecIter.next(); + builder.shutdown(); + } + mmobjs.clear(); + mmobjs = null; + } + oAlias = null; insRel = null; typeRel = null; - if (mmobjs != null) mmobjs.clear(); - mmobjs = null; + relDef = null; + typeDef = null; + + clusterBuilder = null; + rootBuilder = null; + cloudModel = null; + storageManagerFactory = null; - rootBuilder = null; - mmbaseCop = null; - clusterBuilder = null; - org.mmbase.util.ThreadPools.shutdown(); - org.mmbase.core.event.EventManager.getInstance().shutdown(); + + // there all over the place static references to mmbasroot are maintained, which I cannot + // change presently. so let's clean up mmbaseroot itself as well as possible... mmbaseroot = null; } _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs