Author: rmannibucau
Date: Sat Jul 21 22:04:32 2012
New Revision: 1364180

URL: http://svn.apache.org/viewvc?rev=1364180&view=rev
Log:
some cache on property placeholder

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java?rev=1364180&r1=1364179&r2=1364180&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/util/PropertyPlaceHolderHelper.java
 Sat Jul 21 22:04:32 2012
@@ -23,6 +23,7 @@ import org.apache.openejb.loader.SystemI
 public final class PropertyPlaceHolderHelper {
     private static final String PREFIX = "${";
     private static final String SUFFIX = "}";
+    private static final Properties CACHE = new Properties();
 
     private PropertyPlaceHolderHelper() {
         // no-op
@@ -33,10 +34,16 @@ public final class PropertyPlaceHolderHe
             return key;
         }
 
-        final String value = 
SystemInstance.get().getOptions().get(key.substring(2, key.length() - 1), key);
+        String value = CACHE.getProperty(key);
+        if (value != null) {
+            return value;
+        }
+
+        value = SystemInstance.get().getOptions().get(key.substring(2, 
key.length() - 1), key);
         if (!value.equals(key) && value.startsWith("java:")) {
-            return value.substring(5);
+            value = value.substring(5);
         }
+        CACHE.setProperty(key, value);
         return value;
     }
 


Reply via email to