[
https://issues.apache.org/jira/browse/FELIX-5974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16665103#comment-16665103
]
ASF GitHub Bot commented on FELIX-5974:
---------------------------------------
GitHub user timothyjward opened a pull request:
https://github.com/apache/felix/pull/159
Provide a refactoring to simplify prototype reference access
This should also Fix FELIX-5974
Signed-off-by: Tim Ward <[email protected]>
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/timothyjward/felix FELIX-5974
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/felix/pull/159.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #159
----
commit 1a0973e08353bb0c4e959fb2a01b861c9cfcc39b
Author: Tim Ward <timothyjward@...>
Date: 2018-10-26T12:20:11Z
Provide a refactoring to simplify prototype reference access
This should also Fix FELIX-5974
Signed-off-by: Tim Ward <[email protected]>
----
> Prototype scope references are not released on deactivation
> -----------------------------------------------------------
>
> Key: FELIX-5974
> URL: https://issues.apache.org/jira/browse/FELIX-5974
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Affects Versions: scr-2.1.12
> Reporter: Timothy Ward
> Priority: Major
> Fix For: scr-2.1.14
>
>
> Having read the stack overflow question on [Stack
> Overflow|https://stackoverflow.com/questions/52839641/osgi-ds-prototype-reference-not-released]
> I was pretty certain that the user must be doing something wrong, but in
> fact it seems as though SCR does a bad job of releasing Prototype scoped
> references when a component is disposed.
> I looked into the code, and it seems that there are a lot of conflicting
> locations where prototype scope services are obtained and released. I propose
> tidying this up so that the ComponentServiceObjects is *always* used
> internally regardless of whether it is injected or not. This encapsulates all
> the access in a single location so it is less likely that the objects will
> leak.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)