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

        

Reply via email to