if u want to the component isn't deactivated,u should set the bound service cardinality to "0..1"
2009/5/4 Sameera Jayasoma <[email protected]>: > 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 > > _______________________________________________ > equinox-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/equinox-dev > > -- ============================= | BlueDavy | | OSGi China User Group Director | | http://china.osgiusers.org | | http://blog.bluedavy.cn | ============================= _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
