> Hi devs,
>
> Even though I have used the value "dynamic" for the "policy" attribute in
> the "reference" element, the component is deactivated once the bound service
> is unregistered. Here is the component.xml I am using.
>
> <components xmlns:scr="
http://www.osgi.org/xmlns/scr/v1.0.0">
> <scr:component enabled="true" name="carbon.core.dscomponent">
> <implementation
> class="org.wso2.carbon.core.internal.CarbonCoreDSComponent"/>
> <property name="service.pid" value="carbon.core.dscomponent"/>
> <reference name="registry.service"
> interface="org.wso2.carbon.registry.core.service.RegistryService"
> cardinality="1..1" policy="dynamic" bind="setRegistryService"
> unbind="unsetRegistryService"/>
> </scr:component>
> </components>
>
> Here is the component implementation class.
>
> public class CarbonCoreDSComponent{
>
> private static Log log = LogFactory.getLog(CarbonCoreDSComponent.class);
> private BundleContext bundleContext;
>
> protected void activate(ComponentContext ctxt) {
>
log.info("******* Carbon Core bundle is activated ******* ");
> }
>
> protected void deactivate(ComponentContext ctxt) {
>
log.info("******* Carbon Core bundle is deactivated ******* ");
> }
>
> protected void setRegistryService(RegistryService registryService) {
> System.out.println("--------------------Set Registry Service");
> }
>
> protected void unsetRegistryService(RegistryService registryService) {
> System.out.println("--------------------Unset Registry
> Service");
> }
> }
>
> When I stop the bundle which registers the
> "org.wso2.carbon.registry.core.service.RegistryService", following out put
> is generated.
>
> ******* Carbon Core bundle is deactivated *******
> {org.wso2.carbon.core.internal.CarbonCoreDSComponent}
> --------------------Unset Registry Service
>
> This mean carbon.core bundle is deactivated right?
>
> Expected behavior: When the RegisterService is unregisterd, only the unbind
> method should be called. But here first the bundle is deactivated and then
> the unbind method is called.
>
> Any solution would be greatly appreciated.
>
> Thanks
> --
> Sameera Jayasoma
> WSO2 Inc.
> Oxygenating the Web Service Platform.
>
http://wso2.org/
>
> blog:
http://tech.jayasoma.org
>