This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/felix-dev.git
The following commit(s) were added to refs/heads/master by this push:
new febfde7 FELIX-6315: do not deactivate factory component configurations
new 28b8f0e Merge pull request #37 from rovarga/felix6315
febfde7 is described below
commit febfde78e6a04b79163d0e9e39351ad8860e1400
Author: Robert Varga <[email protected]>
AuthorDate: Fri Jul 31 22:24:01 2020 +0200
FELIX-6315: do not deactivate factory component configurations
Reaching zero reference count for a component configuration created
via a component factory should not trigger that configuration being
deactivated.
---
.../java/org/apache/felix/scr/impl/manager/SingleComponentManager.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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 cbc68c0..c86a6c4 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
@@ -1040,7 +1040,8 @@ public class SingleComponentManager<S> extends
AbstractComponentManager<S> imple
// unget the service instance if no bundle is using it
// any longer unless delayed component instances have to
// be kept (FELIX-3039)
- if ( m_useCount.decrementAndGet() == 0 && !isImmediate() &&
!keepInstances() )
+ if ( m_useCount.decrementAndGet() == 0 && !isImmediate()
+ && !getComponentMetadata().isFactory() && !keepInstances()
)
{
final State previousState = getState();
deleteComponent(
ComponentConstants.DEACTIVATION_REASON_UNSPECIFIED );