FELIX-4957 : [DS][RFC-212] Various issues with field references
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1690869 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
index 65364f8..fbf2356 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/AbstractComponentManager.java
@@ -396,7 +396,7 @@
enableInternal();
if ( !async )
{
- activateInternal( m_trackingCount.get() );
+ activateInternal( );
}
}
finally
@@ -419,7 +419,7 @@
{
try
{
- activateInternal( m_trackingCount.get() );
+ activateInternal( );
}
finally
{
@@ -644,7 +644,7 @@
log( LogService.LOG_DEBUG, "Component enabled", null );
}
- final void activateInternal( int trackingCount )
+ final void activateInternal( )
{
log( LogService.LOG_DEBUG, "ActivateInternal",
null );
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
index d11139d..eb6ce5c 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/ComponentFactoryImpl.java
@@ -129,7 +129,7 @@
// enable
cm.enableInternal();
//activate immediately
- cm.activateInternal( getTrackingCount().get() );
+ cm.activateInternal( );
ComponentInstance instance;
if ( getComponentMetadata().isPersistentFactoryComponent() )
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
index 45d6c03..4798302 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/DependencyManager.java
@@ -68,7 +68,7 @@
private final int m_index;
- private final Customizer<S, T> m_customizer;
+ private volatile Customizer<S, T> m_customizer;
//only set once, but it's not clear there is enough other synchronization to get the correct object before it's used.
private volatile ReferenceMethods m_bindMethods;
@@ -260,7 +260,7 @@
{
if ( cardinalityJustSatisfied( serviceCount ) )
{
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
}
@@ -330,7 +330,7 @@
m_componentManager.log( LogService.LOG_DEBUG, "dm {0} tracking {1} MultipleDynamic, activating", new Object[] {getName(), trackingCount}, null );
tracked( trackingCount );
tracked = true;
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
else
{
@@ -449,12 +449,12 @@
"Dependency Manager: Static dependency on {0}/{1} is broken", new Object[]
{getName(), m_dependencyMetadata.getInterface()}, null );
m_componentManager.deactivateInternal( ComponentConstants.DEACTIVATION_REASON_REFERENCE, false, false );
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
else if ( isTrackerOpened() && cardinalityJustSatisfied( serviceCount ) )
{
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
m_componentManager.log( LogService.LOG_DEBUG, "dm {0} tracking {1} MultipleStaticGreedy added {2} (exit)", new Object[] {getName(), trackingCount, serviceReference}, null );
}
@@ -483,7 +483,7 @@
{getName(), m_dependencyMetadata.getInterface()}, null );
m_componentManager.deactivateInternal( ComponentConstants.DEACTIVATION_REASON_REFERENCE, false, false );
//try to reactivate after ref is no longer tracked.
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
else if ( !cardinalitySatisfied( getTracker().getServiceCount() ) ) //may be called from an old tracker, so getTracker() may give a different answer
{
@@ -555,7 +555,7 @@
tracked( trackingCount );
if ( isTrackerOpened() && cardinalityJustSatisfied( serviceCount ) && !isActive())
{
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
m_componentManager.log( LogService.LOG_DEBUG, "dm {0} tracking {1} MultipleStaticReluctant added {2} (exit)", new Object[] {getName(), trackingCount, serviceReference}, null );
}
@@ -589,7 +589,7 @@
m_componentManager.deactivateInternal( ComponentConstants.DEACTIVATION_REASON_REFERENCE, false, false );
// FELIX-2368: immediately try to reactivate
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
}
@@ -721,7 +721,7 @@
{
tracked( trackingCount );
tracked = true;
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
}
this.trackingCount = trackingCount;
@@ -910,7 +910,7 @@
if ( reactivate )
{
m_componentManager.deactivateInternal( ComponentConstants.DEACTIVATION_REASON_REFERENCE, false, false );
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
else
{
@@ -919,7 +919,7 @@
}
else if (isTrackerOpened() && cardinalityJustSatisfied( serviceCount ) )
{
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
else
{
@@ -954,7 +954,7 @@
this.refPair = null;
}
}
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
m_componentManager.log( LogService.LOG_DEBUG, "dm {0} tracking {1} SingleStatic modified {2} (exit)", new Object[] {getName(), trackingCount, serviceReference}, null );
}
@@ -984,7 +984,7 @@
this.refPair = null;
}
}
- m_componentManager.activateInternal( trackingCount );
+ m_componentManager.activateInternal( );
}
m_componentManager.log( LogService.LOG_DEBUG, "dm {0} tracking {1} SingleStatic removed {2} (exit)", new Object[] {getName(), trackingCount, serviceReference}, null );
}
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java b/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
index 1feae11..5c4ffa0 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/manager/SingleComponentManager.java
@@ -595,7 +595,7 @@
log( LogService.LOG_DEBUG, "Attempting to activate unsatisfied component", null );
updateTargets( getProperties() );
releaseActivationWriteeLock( "reconfigure.unsatisfied" );
- activateInternal( getTrackingCount().get() );
+ activateInternal( );
return;
}
@@ -624,7 +624,7 @@
{
releaseActivationWriteeLock("reconfigure.deactivate.activate");
}
- activateInternal(getTrackingCount().get());
+ activateInternal();
}
}
}