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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs