Author: mahrwald
Date: Tue Dec  1 10:26:49 2009
New Revision: 885722

URL: http://svn.apache.org/viewvc?rev=885722&view=rev
Log:
ARIES-59 remove wait for optional service references

Modified:
    
incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java

Modified: 
incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
URL: 
http://svn.apache.org/viewvc/incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java?rev=885722&r1=885721&r2=885722&view=diff
==============================================================================
--- 
incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
 (original)
+++ 
incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
 Tue Dec  1 10:26:49 2009
@@ -32,6 +32,7 @@
 import org.osgi.service.blueprint.container.ComponentDefinitionException;
 import org.osgi.service.blueprint.container.ServiceUnavailableException;
 import org.osgi.service.blueprint.reflect.ReferenceMetadata;
+import org.osgi.service.blueprint.reflect.ServiceReferenceMetadata;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -162,7 +163,8 @@
 
     private Object getService() throws InterruptedException {
         synchronized (monitor) {
-            if (isStarted() && trackedServiceReference == null && 
metadata.getTimeout() > 0) {
+            if (isStarted() && trackedServiceReference == null && 
metadata.getTimeout() > 0
+                    && metadata.getAvailability() == 
ServiceReferenceMetadata.AVAILABILITY_MANDATORY) {
                 blueprintContainer.getEventDispatcher().blueprintEvent(new 
BlueprintEvent(BlueprintEvent.WAITING, 
blueprintContainer.getBundleContext().getBundle(), 
blueprintContainer.getExtenderBundle(), new String[] { getOsgiFilter() }));
                 monitor.wait(metadata.getTimeout());
             }


Reply via email to