felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-2288) Felix SCR API problem/misunderstanding
Date Fri, 16 Apr 2010 15:48:24 GMT

    [ https://issues.apache.org/jira/browse/FELIX-2288?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12857860#action_12857860

Felix Meschberger commented on FELIX-2288:

Yes, I agree (and this may well be an issue in the Apache Felix DS implementation).

In fact our DS implementation actually assigns the ID when the component configuration (file)
is read and internal data structure is created. And over the lifecycle of the data structure,
the ID is fixed -- this is probably fundamentally wrong.

So, yes, the API must be clarified for the Component.getId() method to only return a positive
number if the component is enabled (or active).
And, yes, the Felix DS implementation should be fixed
And, yes, using the component name if the id is not valid sounds good to me.

> 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.
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message