[jboss-cvs] JBossAS SVN: r80254 - projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 30 10:57:25 EDT 2008


Author: alesj
Date: 2008-10-30 10:57:25 -0400 (Thu, 30 Oct 2008)
New Revision: 80254

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java
Log:
Minimize lock.

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java	2008-10-30 14:56:18 UTC (rev 80253)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/cache/AbstractVFSCache.java	2008-10-30 14:57:25 UTC (rev 80254)
@@ -57,16 +57,7 @@
 
    public VirtualFile getFile(URI uri) throws IOException
    {
-      lock.readLock().lock();
-      VFSContext context;
-      try
-      {
-         context = findContext(uri);
-      }
-      finally
-      {
-         lock.readLock().unlock();
-      }
+      VFSContext context = findContext(uri);
       if (context != null)
       {
          VirtualFileHandler root = context.getRoot();
@@ -151,13 +142,21 @@
       String uriString = stripProtocol(uri);
       List<String> tokens = PathTokenizer.getTokens(uriString);
       StringBuilder sb = new StringBuilder("/");
-      for (String token : tokens)
+      lock.readLock().lock();
+      try
       {
-         sb.append(token).append("/");
-         VFSContext context = getContext(sb.toString());
-         if (context != null)
-            return context;
+         for (String token : tokens)
+         {
+            sb.append(token).append("/");
+            VFSContext context = getContext(sb.toString());
+            if (context != null)
+               return context;
+         }
       }
+      finally
+      {
+         lock.readLock().unlock();
+      }
       return null;
    }
 




More information about the jboss-cvs-commits mailing list