Hi,

Well, I think there are many possible solutions for that.

In my opinion, the complicated thing is how the OSGi framework would know what is necessary to it consider your application ready. Which bundles? which services?

A combination of the new OSGi Configurator + DeclarativeServices + ConfigAdmin are a great option to achieve that.

One of the possible approaches using these specs is to create a Bootstrap DS component with configurationPolicy = ConfigurationPolicy.REQUIRE and configurationPid="boot.pid", meaning that an instance of it will be created and activated ONLY when a configuration were registered for "boot.pid".

Then when you start the container you can instruct the Configurator to activate your bootstrap component using the system property "configurator.initial" pointing to a json configuration file containing all information needed for this bootstrap component to recognize that your application is ready (which bundles/services are required to be started). You can also embed a configurator json inside bootstrap bundle instead.

In the bootstrap component implementation you will need to setup a BundleListener and/or ServiceListener to listen for installed bundles and registered services and then at each occurrence to compare with those provided in the json config.

Once all required bundles/services were identified and their status matched then your application can be considered ready.


best regards,

Cristiano


On 19/11/2018 18:16, Nhut Thai Le via osgi-dev wrote:
Hello,

We are using equinox as an osgi container to host our application which comprise a large number of osgi bundles. Our concern at this point is that when we start equinox, we don't know when all the bundles have been loaded and the startup has finished. Does anyone have a suggestion?

Thank you in advance

Thai



_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to