You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2016/05/11 07:01:12 UTC

[jira] [Resolved] (FELIX-2961) @Component annotation should support defining the name with a compile time constant (instead of just a constant value)

     [ https://issues.apache.org/jira/browse/FELIX-2961?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Carsten Ziegeler resolved FELIX-2961.
-------------------------------------
    Resolution: Won't Fix

> @Component annotation should support defining the name with a compile time constant (instead of just a constant value)
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2961
>                 URL: https://issues.apache.org/jira/browse/FELIX-2961
>             Project: Felix
>          Issue Type: New Feature
>          Components: SCR Tooling
>    Affects Versions: scr annotations 1.5.0
>            Reporter: Andrei Pozolotin
>
> hello!
> when I use config admin to control instaniation of scr component services, I use this pattern:
> // 1) in config source bundle:
> 			Configuration config = configAdmin.getConfiguration("ZZZ", null);
> 			Dictionary<String, String> props = config.getProperties();
> 			config.update(props);
> //  2) in config target bundle:
> @Service
> @Component(name = "AAA", policy = ConfigurationPolicy.REQUIRE, immediate = true)
> public class BucketPlugin implements PluginSpaceService {
> 	@Property(name = "service.pid")
> 	protected static final String PID = "ZZZ";
> // 3) despite the fact service.pid "looks good" in xml for the tagret compenent:
>     <scr:component enabled="true" immediate="true" name="AAA" configuration-policy="require">
>         <implementation class="com.ddfplus.core.space.BucketPlugin"/>
>         <service servicefactory="false">
>             <provide interface="com.ddfplus.api.plugin.PluginSpaceService"/>
>         </service>
>         <property name="service.pid" type="String" value="ZZZ"/>
> // 4) the scr fails to initialize the component; intitialzation works only when 
> (scr.component.name == config.service.pid) and NOT when (config.service.pid == scr.component.property.pid)
> // 5) if I look on the the config target in console (when I do manage to inititialize it),
> it shows that again, actual service.pid comes from scr.component.name and not from scr.component.property.service.pid
> thank you.



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