Asynchronous consumption of war files - BundleWatcher doesn't work asynchronous.
--------------------------------------------------------------------------------
Key: PAXWEB-254
URL: http://issues.ops4j.org/browse/PAXWEB-254
Project: Pax Web
Issue Type: Improvement
Components: War Extender
Affects Versions: 1.0.1, 1.0.0, 0.8.1, 0.8.0, 0.7.4, 0.7.3, 0.7.2, 0.7.1,
0.7.0
Reporter: Achim Nierbeck
taken from mail thread with Kurt Westerfeld:
I can confirm the same code that hangs in the OPS4J Pax Web - Extender War
hangs in later revisions (ie. trunk).
The issue is seemingly in org.ops4j.pax.swissbox.extender.BundleWatcher. What
happens is that if you hit the bundle activator for the war extender, and a war
bundle is already started (ie. "queued"), its activation is processed inline to
the Activator.start() method via it's own "start()" method. This hangs the
start of Pax Web Extender War bundle until the timeout feature of the Spring
MVC - OSGi extension times out due to a missing service. It doesn't seem to be
a problem if the webapp isn't itself hanging on startup--but the SpringDM stuff
actually waits for services to arrive. You need this behavior on a system
startup where it is unpredictable when services arrive in OSGi.
What has to happen instead is to fire each of these bundle activations from the
extender on a separate thread, similar to how blueprint dispatches or spring-dm
dispatches similar extender patterns.
Unfortunately for us, this is a killer and we've had to embed Spring DM server
war extender in our solution. If this issue, along with the form auth issue
could be resolved, we'd be happy campers with a default Servicemix/Karaf
installation.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.ops4j.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general