Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
fileinstall-3.5.4
-
None
-
None
Description
I have an application that uses Felix File Install to start a set of bundles that use Blueprint configuration extensively, but with the poll time disabled (felix.fileinstall.poll = 0) because I only want the bundles started at application startup time. Sometimes one bundle might have a Blueprint service dependency provided by another bundle such that when started and that other bundle has not been started yet causes a service timeout. The ordering File Install uses to start bundles is indeterminate (a HashSet is passed to startBundles(Collection<Bundle> bundles)) so I thought a good solution would be to start bundles in parallel, so if one bundle gets stuck when starting, waiting for a Blueprint service to become available, other bundles can continue to be started under the assumption one of them will be providing that service "soon".