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

Felix Meschberger commented on FELIX-2961:
------------------------------------------

What exactly do you have in mind for option 2 ? As it stands, it is a 
compile-time constant (actually ending in the constant pool section of the 
class).

But then you should anyway be able to do this:

  @Component(name=TheClass.SOME_NAME_FIELD)
  class TheClass {
      private static final String SOME_NAME_FIELD="some constant";
  }

Right ?

> SCR & ConfigurationAdmin : service.pid resolution
> -------------------------------------------------
>
>                 Key: FELIX-2961
>                 URL: https://issues.apache.org/jira/browse/FELIX-2961
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions:  scr-1.6.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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to