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