[
https://issues.apache.org/jira/browse/FELIX-6105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
David Jencks closed FELIX-6105.
-------------------------------
> [DS] SCR does not add the component bundle location to the Configuration
> objects
> --------------------------------------------------------------------------------
>
> Key: FELIX-6105
> URL: https://issues.apache.org/jira/browse/FELIX-6105
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Reporter: Esin Yakub
> Priority: Major
>
> The SCR runtime does not set the bundle location of the configuration
> consuming component to the Configuration object. This is the case in the
> ManagedService-s and makes them more resilient to any external actions.
> With Felix SCR currently if you have a component requiring a configuration
> PID (the component is activated successfully) and you get the configuration
> PID using the ConfigurationAdmin service without specifying "null" for the
> bundle location you will end up sending a
> ConfigurationEvent.CM_LOCATION_CHANGED event which in hand will trigger a
> component destruction.
> Sample service:
> {code:java}
> import org.osgi.service.component.annotations.Activate;
> import org.osgi.service.component.annotations.Component;
> import org.osgi.service.component.annotations.ConfigurationPolicy;
> import org.osgi.service.component.annotations.Deactivate;
> @Component(
> configurationPid = "com.softwareag.dummy.pid",
> configurationPolicy = ConfigurationPolicy.REQUIRE,
> immediate = true)
> public class Dummy{
> @Activate
> public void activate() {
> System.out.println("Dummy is active");
> }
> @Deactivate
> public void deactivate() {
> System.out.println("Dummy is deactivated");
> }
> }
> {code}
> Sample snippet for consumer:
> {code:java}
> ...
> Configuration ssoConf =
> configAdmin.getConfiguration("com.softwareag.dummy.pid");
> System.out.println("Bundle location for the dummy configuration is: " +
> ssoConf.getBundleLocation());
> }
> {code}
> If the bundle location in the configuration is null the second snippet sets
> the bundle location and deactivates the component.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)