[
https://issues.apache.org/jira/browse/FELIX-2288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12894849#action_12894849
]
Felix Meschberger commented on FELIX-2288:
------------------------------------------
Fixed handling of the component ID in the Declarative Services bundle in Rev.
981772: The ID is now only generated and assigned to a component while the
component is enabled. To still access components without an assigned ID,
ScrService gets a new method getComponent(String name) to access components by
their name.
This also increases the version of the SCR management API to 1.6 (Rev. 981782)
> Felix SCR API problem/misunderstanding
> --------------------------------------
>
> Key: FELIX-2288
> URL: https://issues.apache.org/jira/browse/FELIX-2288
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR), Web Console
> Reporter: Valentin Valchev
> Priority: Critical
>
> I've been playing with the Components plugin of the Web Console and it work
> perfectly with the Felix SCR implementation. When I switched to
> ProSyst/Equinox implementation (they are basically the same) I found a small
> problem.
> When I disable a component, it's ID becomes -1 and I cannot enable it
> anymore. As long as I disable components all their IDs becomes -1.
> I opened the OSGi r4.2 specification to see if there is a reason for this
> behaviour. The JavaDoc for ComponentConstants states for the component ID,
> that
> "The value of this property is assigned by the Service Component Runtime when
> a component configuration is created."
> In part 112.6 Component Properties, the specification says, that
> 'component.id' property is always added by the SCR but for "Each component
> configuration".
> When a component is disabled or uninstalled, there is no configuration - it's
> just a component definition. So the SCR is not required to assign ID.
> As for the Web Console we can easily fix the problem by using the pair bundle
> + component name for identification, instead of ID. However, since Apache SCR
> API is becoming recommended OSGi API, it would be better to define a mature
> and compatible API.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.