I just ran into an issue with the BundleWatcher worker threads silently
swallowing exceptions:
http://team.ops4j.org/browse/PAXSB-55
While working on a fix, I realized this class is rather a crossbreed: It
uses a SynchronousBundleListener, but then delegates STARTED events to
an Executor whereas STOPPED events are handled in the same thread.
Is there a good reason for that?
As far as I can tell, the Executor was introduced to fix [2] and [3],
and I wonder if the fact that it is not used for STOPPED events is just
an omission.
On the other hand, what's the point of making a synchronous listener
asynchronous by means of an Executor, why not simply use a
BundleListener which is asynchronous by default?
Maybe we should really create a SynchronousBundleWatcher and an
AsynchronousBundleWatcher, to handle _all_ events either synchronously
or asynchronously?
Best regards,
Harald
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general