Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv14001

Modified Files:
      Tag: MMBase-1_8
        ApplicationContextReader.java 
Log Message:
MMB-1699


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util
See also: http://www.mmbase.org/jira/browse/MMB-1699


Index: ApplicationContextReader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ApplicationContextReader.java,v
retrieving revision 1.2.2.1
retrieving revision 1.2.2.2
diff -u -b -r1.2.2.1 -r1.2.2.2
--- ApplicationContextReader.java       14 Jul 2008 15:22:33 -0000      1.2.2.1
+++ ApplicationContextReader.java       4 Aug 2008 08:37:30 -0000       1.2.2.2
@@ -10,6 +10,7 @@
 package org.mmbase.util;
 
 import java.util.*;
+import java.util.concurrent.*;
 import javax.naming.*;
 
 import org.mmbase.util.logging.Logger;
@@ -20,12 +21,35 @@
  *
  * @author Nico Klasens
  * @since MMBase 1.8.1
- * @version $Id: ApplicationContextReader.java,v 1.2.2.1 2008/07/14 15:22:33 
michiel Exp $
+ * @version $Id: ApplicationContextReader.java,v 1.2.2.2 2008/08/04 08:37:30 
michiel Exp $
  */
 public class ApplicationContextReader {
 
     private static Logger log = 
Logging.getLoggerInstance(ApplicationContextReader.class);
 
+    private static final Map cache = new ConcurrentHashMap();
+
+
+    /**
+     * As [EMAIL PROTECTED] #getProperties(String)} but caching, so it may 
conserve some cpu cycles, and
+     * withouth throwing the exception
+     *
+     * @since MMBase-1.8.7
+     */
+    public static Map getCachedProperties(String path) {
+        Map m = (Map) cache.get(path);
+        if (m == null) {
+            try {
+                m = getProperties(path);
+            } catch (javax.naming.NamingException ne) {
+                log.error(ne);
+                m =  Collections.emptyMap();
+            }
+            cache.put(path, m);
+        }
+        return m;
+    }
+
     /**
      * @javadoc
      */
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to