raphael 2002/11/05 16:00:24
Modified: src/java/org/apache/jetspeed/services/registry
CastorRegistryService.java RegistryWatcher.java
Log:
Fix Regsitry "double entry" issue, auto-save at startup and
unnecessary work at startup
Revision Changes Path
1.24 +8 -12
jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/CastorRegistryService.java
Index: CastorRegistryService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/CastorRegistryService.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- CastorRegistryService.java 3 Nov 2002 15:09:47 -0000 1.23
+++ CastorRegistryService.java 6 Nov 2002 00:00:24 -0000 1.24
@@ -461,6 +461,7 @@
//Mark that we are done
setInit(true);
+
// load the registries
Enumeration en = names.elements();
@@ -498,9 +499,6 @@
refresh(name);
}
- //refresh all registries
- refresh();
-
// Start the directory watcher thread and rely on its refresh process
// to completely load all registries
if (this.watcher != null)
@@ -512,6 +510,7 @@
{
Log.debug("RegistryService: early init()....end!, this.getInit()= " +
getInit());
}
+
}
@@ -568,7 +567,7 @@
*/
public void refresh()
{
- synchronized (this)
+ synchronized (watcher)
{
Enumeration en = getNames();
while (en.hasMoreElements())
@@ -658,9 +657,6 @@
Log.error(e); // At least log the exception.
}
}
-
- // refresh all regsitries to take the new entries into account
- refresh();
}
/**
@@ -788,7 +784,7 @@
}
int count = 0;
- Registry registry = get(regName);
+ BaseRegistry registry = (BaseRegistry)get(regName);
if (registry == null)
{
@@ -802,7 +798,7 @@
{
String location = (String) en.nextElement();
RegistryFragment fragment = (RegistryFragment) fragments.get(location);
- int fragCount = 0;
+ int fragCount = 0;
if (!fragment.hasChanged())
{
@@ -844,7 +840,7 @@
Log.debug("RegistryService: Updating entry " +
entry.getName() + " of class " + entry.getClass() + " to registry " + name);
}
- registry.setEntry(entry);
+ registry.setLocalEntry(entry);
// Initialize the entry index
this.entryIndex.put(entry.getName(), location);
++fragCount;
@@ -852,7 +848,7 @@
}
else
{
- registry.addEntry(entry);
+ registry.addLocalEntry(entry);
// Initialize the entry index
this.entryIndex.put(entry.getName(), location);
++fragCount;
1.7 +4 -3
jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/RegistryWatcher.java
Index: RegistryWatcher.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/registry/RegistryWatcher.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- RegistryWatcher.java 3 Nov 2002 15:09:47 -0000 1.6
+++ RegistryWatcher.java 6 Nov 2002 00:00:24 -0000 1.7
@@ -103,7 +103,8 @@
/**
* Creates a default RegistryWatcher
*/
- public RegistryWatcher() {
+ public RegistryWatcher()
+ {
setDaemon(true);
setPriority(Thread.MIN_PRIORITY);
}
@@ -272,7 +273,7 @@
{
boolean needRefresh = false;
- synchronized (subscriber)
+ synchronized (this)
{
Map fragments = subscriber.getFragmentMap();
--
To unsubscribe, e-mail: <mailto:jetspeed-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:jetspeed-dev-help@;jakarta.apache.org>