You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ga...@apache.org on 2009/08/13 06:05:49 UTC

svn commit: r803771 - /geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java

Author: gawor
Date: Thu Aug 13 04:05:49 2009
New Revision: 803771

URL: http://svn.apache.org/viewvc?rev=803771&view=rev
Log:
service properties should be evaluted only once

Modified:
    geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java

Modified: geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java?rev=803771&r1=803770&r2=803771&view=diff
==============================================================================
--- geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java (original)
+++ geronimo/sandbox/blueprint/blueprint-core/src/main/java/org/apache/geronimo/blueprint/container/ServiceRecipe.java Thu Aug 13 04:05:49 2009
@@ -70,6 +70,7 @@
     private final List<Recipe> explicitDependencies;
     private final boolean prototypeService;
 
+    private Map properties;
     private final AtomicBoolean registered = new AtomicBoolean();
     private volatile ServiceRegistration registration;
     private Map registrationProperties;
@@ -145,7 +146,9 @@
     public void register() {
         if (registered.compareAndSet(false, true)) {
             Hashtable props = new Hashtable();
-            Map properties = (Map) createRecipe(propertiesRecipe);
+            if (properties == null) {
+                properties = (Map) createRecipe(propertiesRecipe);
+            }
             props.putAll(properties);
             if (metadata.getRanking() == 0) {
                 props.remove(Constants.SERVICE_RANKING);