[jira] [Commented] (FELIX-3039) SCR cleans up delayed service components too aggressively
[ https://issues.apache.org/jira/browse/FELIX-3039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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
[jira] [Commented] (FELIX-3039) SCR cleans up delayed service components too aggressively
[ https://issues.apache.org/jira/browse/FELIX-3039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13064765#comment-13064765 ] Neil Bartlett commented on FELIX-3039: -- Correction, this should be a feature request, not a bug. The spec does not require either behaviour, implementations can clean up at their discretion. 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. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (FELIX-3039) SCR cleans up delayed service components too aggressively
[ https://issues.apache.org/jira/browse/FELIX-3039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13064790#comment-13064790 ] Andrei Pozolotin commented on FELIX-3039: - good feature; is there any way to provide this config parameter in osgi-generic way? 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. For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (FELIX-3039) SCR cleans up delayed service components too aggressively
[ https://issues.apache.org/jira/browse/FELIX-3039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13064793#comment-13064793 ] Neil Bartlett commented on FELIX-3039: -- Not in a generic way because the spec does not state any such parameter name. Equinox uses a system property equinox.scr.dontDisposeInstances (http://wiki.eclipse.org/Equinox/RuntimeOptions) which can be true or false (default is true). 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. For more information on JIRA, see: http://www.atlassian.com/software/jira