FELIX-4951 : [DS][RFC-190] Correct pid handling
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1690444 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java b/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java
index 625a080..8fa6e70 100644
--- a/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java
+++ b/scr/src/main/java/org/apache/felix/scr/impl/config/ConfigurationSupport.java
@@ -300,11 +300,14 @@
final ConfigurationInfo configInfo = getConfigurationInfo( pid, targetedPid, componentHolder, bundleContext );
if ( checkBundleLocation( configInfo.getBundleLocation(), bundleContext.getBundle() ) )
{
- //If this is replacing a weaker targetedPID delete the old one.
- if ( factoryPid == null && !targetedPid.equals(oldTargetedPID) && oldTargetedPID != null)
- {
- componentHolder.configurationDeleted( pid, factoryPid );
- }
+ // The below seems to be unnecessary - and if put in, the behaviour is not spec compliant anymore:
+ // if a component has a required configuration and a modified method, the component must not be
+ // reactivated
+ // If this is replacing a weaker targetedPID delete the old one.
+ // if ( factoryPid == null && !targetedPid.equals(oldTargetedPID) && oldTargetedPID != null)
+ //{
+ //componentHolder.configurationDeleted( pid, factoryPid );
+ //}
componentHolder.configurationUpdated( pid, factoryPid, configInfo.getProps(), configInfo.getChangeCount() );
}
}