Yes, we could use FrameworkEvent.STARTED, but only if we are sure that we listen for this event when it is fired. If the code, which listens for it, is executed after the framework is started, then it will never get the event. This happens in an Activator of a bundle – it may be executed during the initial start of the framework, or after the framework is started (for example on the first start of the bundle after installing it). Therefore we need to be able to check the framework state in one and the same way in both cases.
Regards, Lazar Kirchev From: [email protected] [mailto:[email protected]] On Behalf Of Thomas Watson Sent: Wednesday, April 14, 2010 4:30 PM To: Equinox development mailing list Subject: Re: [equinox-dev] Starting the system bundle Yes, you should use the FrameworkEvent.STARTED event for this. You should probably open a bug so we can investigate the current behavior anyway to see if the comment is valid. Tom [cid:[email protected]]BJ Hargrave---04/14/2010 08:14:37 AM---We don't you just wait for the FrameworkEvent.STARTED event? From: BJ Hargrave/Austin/i...@ibmus To: Equinox development mailing list <[email protected]> Date: 04/14/2010 08:14 AM Subject: Re: [equinox-dev] Starting the system bundle ________________________________ We don't you just wait for the FrameworkEvent.STARTED event? * This event is fired when the Framework has started after all installed * bundles that are marked to be started have been started and the Framework * has reached the initial start level. The source of this event is the * System Bundle. -- BJ Hargrave Senior Technical Staff Member, IBM OSGi Fellow and CTO of the OSGi Alliance<http://www.osgi.org/> [email protected]<mailto:[email protected]> office: +1 386 848 1781 mobile: +1 386 848 3788 From: "Kirchev, Lazar" <[email protected]> To: "[email protected]" <[email protected]> Date: 2010/04/14 08:21 Subject: [equinox-dev] Starting the system bundle Sent by: [email protected] ________________________________ Hello, We are implementing logic which depends on the system bundle being put in ACTIVE state after all bundles, which should be running, are started. However, it turned out that actually the system bundle is put in ACTIVE state just before the bundles are started. This is evident from the method StartLevelManager.doSetStartLevel(…), which is called from the EquinoxLauncher. There is a comment in the code, that putting the bundle in ACTIVE state “should be done just before firing the STARTED event for the system bundle” but is done earlier, because “some depend on the system bundle being in the ACTIVE state when they are starting”. Do you think it is possible to change the current behavior and put the system bundle in ACTIVE state after the other bundles are started, as it is in the OSGi spec? Kind regards, Lazar Kirchev_______________________________________________ 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
<<inline: image001.gif>>
<<inline: image003.png>>
<<inline: image004.png>>
_______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
