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