[
https://issues.apache.org/jira/browse/FELIX-5383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15586579#comment-15586579
]
Matt Magoffin commented on FELIX-5383:
--------------------------------------
Upon closer investigation, Gemini Blueprint itself is probably not the issue,
it is the Gemini Web extender that is starting a WebApplication bundle that
makes use of (Gemini) Blueprint services that is blocking until the Blueprint
service timeout occurs. The entry point from plan OSGi into Gemini Web looks
like
{noformat}
at
org.eclipse.gemini.web.extender.WebContainerBundleCustomizer.addingBundle(WebContainerBundleCustomizer.java:49)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:467)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerAdding(BundleTracker.java:1)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229)
at
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:443)
...
{noformat}
Perhaps the Gemini Web extender should be handling the deployment
asynchronously, as you say. I can inquire on that project to see what they
think.
Adding parallel starting to File Install is solving my use case right now at
least.
> Support parallel bundle starting
> --------------------------------
>
> Key: FELIX-5383
> URL: https://issues.apache.org/jira/browse/FELIX-5383
> Project: Felix
> Issue Type: Improvement
> Components: File Install
> Affects Versions: fileinstall-3.5.4
> Reporter: Matt Magoffin
> Assignee: Guillaume Nodet
>
> 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".
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)