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());
}