[
https://issues.apache.org/jira/browse/FELIX-3039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13123732#comment-13123732
]
Felix Meschberger commented on FELIX-3039:
------------------------------------------
Actually the specification states that delayed components have to be
deactivated and destroyed if not used any longer:
If the service registered by a component configuration becomes unused
because there are no more bundles using it, then SCR should deactivate
that component configuration. This allows SCR implementations to eagerly
reclaim activated component configurations. (112.5.4, Delayed Components)
While "should" of course is not a requirement, I understand it as a strong
recommendation. On the other hand, since this still allows the implementation
to keep the components alive, it might make sense to keep them alive.
Will consider an option "ds.dontDisposeInstances" as follows:
* default: false -- to implement the spec recommendation
* base (static) configuration by framework property
(BundleContext.getProperty)
* dynamic configuration through Configuration Admin (if available)
> SCR cleans up delayed service components too aggressively
> ---------------------------------------------------------
>
> Key: FELIX-3039
> URL: https://issues.apache.org/jira/browse/FELIX-3039
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Reporter: Neil Bartlett
> Priority: Minor
>
> In the case of an ordinary delayed service component, SCR immediately
> deactivates and destroys the component when its service is released by the
> consumer. In cases where a consumer occasionally binds and invokes the
> service (e.g. EventAdmin) this can cause the component to be continuously
> destroyed and recreated.
> Note that Equinox's DS offers a little more control, we can choose either to
> immediately clean up or never clean up (and the default is never). This is
> still not very satisfactory though.
> I think ideally there should be a configurable timeout, so that a component
> will be cleaned up only if it is not used for some time. I also think the
> default should be quite long, e.g. many minutes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira