jford 2004/03/25 08:27:41
Modified: src/java/org/apache/jetspeed/cache FileCache.java
Log:
Synchronize the thread to prevent concurrent access/modification fo the cache
PR: Bugzilla # 27845, JIRA #JS1-449
Revision Changes Path
1.5 +21 -18
jakarta-jetspeed/src/java/org/apache/jetspeed/cache/FileCache.java
Index: FileCache.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/cache/FileCache.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FileCache.java 23 Feb 2004 02:46:05 -0000 1.4
+++ FileCache.java 25 Mar 2004 16:27:41 -0000 1.5
@@ -341,23 +341,26 @@
try
{
int count = 0;
- for (Iterator it =
FileCache.this.cache.values().iterator(); it.hasNext(); )
- {
- FileCacheEntry entry = (FileCacheEntry) it.next();
- Date modified = new
Date(entry.getFile().lastModified());
-
- if (modified.after(entry.getLastModified()))
- {
- for (Iterator lit =
FileCache.this.listeners.iterator(); lit.hasNext(); )
- {
- FileCacheEventListener listener =
- (FileCacheEventListener) lit.next();
- listener.refresh(entry);
- entry.setLastModified(modified);
- }
- }
- count++;
- }
+ synchronized(FileCache.this)
+ {
+ for (Iterator it =
FileCache.this.cache.values().iterator(); it.hasNext(); )
+ {
+ FileCacheEntry entry = (FileCacheEntry) it.next();
+ Date modified = new
Date(entry.getFile().lastModified());
+
+ if (modified.after(entry.getLastModified()))
+ {
+ for (Iterator lit =
FileCache.this.listeners.iterator(); lit.hasNext(); )
+ {
+ FileCacheEventListener listener =
+ (FileCacheEventListener) lit.next();
+ listener.refresh(entry);
+ entry.setLastModified(modified);
+ }
+ }
+ count++;
+ }
+ }
if (count > FileCache.this.getMaxSize())
{
FileCache.this.evict();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]