[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[equinox-dev] my confusion for unregistering services in bundle.stop
- From: Meng Xin Zhu <zhumx@xxxxxxxxxx>
- Date: Mon, 31 Mar 2008 18:22:54 +0800
- Delivered-to: email@example.com
I find below description in the OSGi R4 specification section '4.3.6 Activation':While the OSGi Framework will clean up services and service references, it is still good programming practice to clean up what you allocate.
If you register services in the start() method, unregister the services in the stop() method.
If you create (and open) a ServiceTracker in the start() method, close it in the stop() method.
If you start threads or jobs in your start() method, make sure that the threads or jobs are terminated by your stop method.
stop(BundleContext) â This method must undo all the actions of the BundleActivator.start(BundleContext) method. However, it is unnecessary to unregister services or Framework listeners, because they must be cleaned up by the Framework anyway.
Recently I read a post introducing development best practices(it's ibm internal site), it says:
Which practice I would choice when programming OSGi service under Equinox? Thanks
Zhu Meng Xin
IBM Workplace Client Technology
Tel: 86-10-82452244-52342 Fax: 86-10-82452887
NOTES: Meng Xin Zhu/China/IBM E-mail: zhumx@xxxxxxxxxx