Update of /var/cvs/src/org/mmbase/framework
In directory james.mmbase.org:/tmp/cvs-serv7448
Modified Files:
Framework.java ComponentRepository.java
Log Message:
if only components configurion changed, the framework could end up in
inconsistent state, so also reinitalize the framework if components
configuration changed
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/framework
Index: Framework.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/Framework.java,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -b -r1.61 -r1.62
--- Framework.java 20 Oct 2008 17:10:53 -0000 1.61
+++ Framework.java 3 Nov 2008 16:43:48 -0000 1.62
@@ -13,6 +13,7 @@
import java.util.*;
import org.mmbase.bridge.Node;
import org.mmbase.util.*;
+import org.mmbase.util.ResourceWatcher;
import org.mmbase.util.xml.Instantiator;
import org.mmbase.util.functions.*;
import org.mmbase.util.logging.Logger;
@@ -29,7 +30,7 @@
* @author Michiel Meeuwissen
* @author Nico Klasens
* @author André van Toly
- * @version $Id: Framework.java,v 1.61 2008/10/20 17:10:53 michiel Exp $
+ * @version $Id: Framework.java,v 1.62 2008/11/03 16:43:48 michiel Exp $
* @since MMBase-1.9
*/
public abstract class Framework {
@@ -38,10 +39,10 @@
/**
* Reference to the Framework singleton.
- * @since MMBase-1.9
*/
static Framework framework = null;
+ private static ResourceWatcher frameworkWatcher;
public static final String XSD = "framework.xsd";
public static final String NAMESPACE =
"http://www.mmbase.org/xmlns/framework";
@@ -70,7 +71,8 @@
*/
public static Framework getInstance() {
if (framework == null) {
- org.mmbase.util.ResourceWatcher frameworkWatcher = new
org.mmbase.util.ResourceWatcher() {
+ if (frameworkWatcher == null) {
+ frameworkWatcher = new org.mmbase.util.ResourceWatcher() {
public void onChange(String resourceName) {
try {
ComponentRepository.getInstance();
@@ -95,6 +97,7 @@
frameworkWatcher.add("framework.xml");
frameworkWatcher.setDelay(10 * 1000); // check every 10 secs if
config changed
frameworkWatcher.start();
+ }
frameworkWatcher.onChange();
}
return framework;
Index: ComponentRepository.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/framework/ComponentRepository.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- ComponentRepository.java 9 Oct 2008 13:00:28 -0000 1.44
+++ ComponentRepository.java 3 Nov 2008 16:43:48 -0000 1.45
@@ -25,7 +25,7 @@
* Components can be configured by placing their configuration in
'config/components/'.
*
* @author Michiel Meeuwissen
- * @version $Id: ComponentRepository.java,v 1.44 2008/10/09 13:00:28 michiel
Exp $
+ * @version $Id: ComponentRepository.java,v 1.45 2008/11/03 16:43:48 michiel
Exp $
* @since MMBase-1.9
*/
public class ComponentRepository {
@@ -55,6 +55,8 @@
ResourceWatcher rw = new ResourceWatcher() {
public void onChange(String r) {
getInstance().readConfiguration(r);
+ Framework.framework = null; // invalidate also the
framework configuration,
+ // because e.g. UrlConverters
may have referrences to components
}
};
rw.add("components");
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs