felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-5356) Component Factory and CM factory Configurations behave badly
Date Thu, 22 Sep 2016 04:28:20 GMT

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

David Jencks commented on FELIX-5356:
-------------------------------------

On further consideration, setting the policy definitely won't work since a factory component
can be configured by any number of singleton configurations.  A better approach might be to
look at the configuration merging code in ConfigurableComponentHolder and prevent dealing
with a matching factory configurations if the component is a factory component.  If the literal
spec behavior is correct, that might be a place to implement it as well.

> Component Factory and CM factory Configurations behave badly
> ------------------------------------------------------------
>
>                 Key: FELIX-5356
>                 URL: https://issues.apache.org/jira/browse/FELIX-5356
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions: scr-2.0.6
>         Environment: All
>            Reporter: Thomas Watson
>            Priority: Minor
>
> This is a corner case and a minor issue in my opinion.  The specification really only
mentions the following with respect to what should happen with factory components and CM factory
configurations:
> {quote}
> A factory configuration must not be used if the component is a factory component. This
is because SCR is not free to create component configurations as necessary to support multiple
Configurations. When SCR detects this condition, it must log an error message with the Log
Service,
> if present, and ignore the component description.
> {quote}
> At face value it seems to suggest that any CM factory configurations must be ignored
when they match the factory component PID.  But the last sentence also makes a strong assertion
that the component description must be ignored if matching factory configurations are detected
while discovering a factory component description.  This seems overkill to me.  Why not just
ignore the factory configurations?  Why must the factory component description be ignored
altogether?
> The other issue is that if a matching factory configuration is created later, after a
ComponentFactory has been registered and a ComponentInstance has been created (with newInstance)
then felix SCR will dispose of the ComponentInstance.  In this case the component instance
did not specify an update method.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message