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

Modified Files:
        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.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ApplicationContextReader.java       11 Jul 2008 17:34:01 -0000      1.5
+++ ApplicationContextReader.java       4 Aug 2008 08:40:24 -0000       1.6
@@ -10,17 +10,46 @@
 package org.mmbase.util;
 
 import java.util.*;
+import java.util.concurrent.*;
 import javax.naming.*;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+
 
 /**
  * @javadoc
  *
  * @author Nico Klasens
  * @since MMBase 1.8.1
- * @version $Id: ApplicationContextReader.java,v 1.5 2008/07/11 17:34:01 
michiel Exp $
+ * @version $Id: ApplicationContextReader.java,v 1.6 2008/08/04 08:40:24 
michiel Exp $
  */
 public class ApplicationContextReader {
 
+    private static Logger log = 
Logging.getLoggerInstance(ApplicationContextReader.class);
+
+    private static final Map<String, Map<String, String>> cache = new 
ConcurrentHashMap<String, Map<String, String>>();
+
+
+    /**
+     * 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<String, String> getCachedProperties(String path) {
+        Map<String, String> m =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