Author: gnodet
Date: Fri Sep 28 15:49:28 2012
New Revision: 1391511
URL: http://svn.apache.org/viewvc?rev=1391511&view=rev
Log:
[ARIES-930] The abstract reference recipe may end up tracking the same
reference multiple times
Modified:
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
Modified:
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
URL:
http://svn.apache.org/viewvc/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java?rev=1391511&r1=1391510&r2=1391511&view=diff
==============================================================================
---
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
(original)
+++
aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
Fri Sep 28 15:49:28 2012
@@ -323,6 +323,9 @@ public abstract class AbstractServiceRef
private void serviceAdded(ServiceReference ref) {
LOGGER.debug("Tracking reference {} for OSGi service {}", ref,
getOsgiFilter());
synchronized (references) {
+ if (references.contains(ref)) {
+ return;
+ }
references.add(ref);
}
track(ref);