It is up to you. If the framework removes them, they will be removed in a random order. If you have several listeners and registered services which should be shutdown in some orderly manner, you will need to shut them down yourself.
-- BJ Hargrave Senior Technical Staff Member, IBM OSGi Fellow and CTO of the OSGi Alliance [EMAIL PROTECTED] office: +1 386 848 1781 mobile: +1 386 848 3788 From: Meng Xin Zhu <[EMAIL PROTECTED]> To: [email protected] Cc: Xiang Yu Hao <[EMAIL PROTECTED]> Date: 2008/03/31 06:17 AM Subject: [equinox-dev] my confusion for unregistering services in bundle.stop I find below description in the OSGi R4 specification section '4.3.6 Activation': 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: 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. Which practice I would choice when programming OSGi service under Equinox? Thanks Best Regards Zhu Meng Xin IBM Workplace Client Technology Tel: 86-10-82452244-52342 Fax: 86-10-82452887 NOTES: Meng Xin Zhu/China/IBM E-mail: [EMAIL PROTECTED] _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
