Hi RIck,

Did you envision running the
AssemblyManager constantly or is it "activated" as a one-time process
and stopped after the process has accomplished its mission and repeated
only when necessary?


The background thread is started and stopped by the bundle activator.
Normally, it just sits and waits for events coming in. The reason for using
a separate thread is, that (1) I do not want to block the Framework Event
Queue and (2) installation and deinstallation actions may be launched, which
might cause issues like deadlocks if ran synchronously.

And yes, the actual installation by the Installer retrieved from the
InstallerService runs in the background, which - currently - is a new thread
each time bundles are installed or uninstalled.

 Also, could the more simple "visitor pattern"
(such as Peter Kriens's FileInstaller) be sufficient to detect and
process the assembly bundles?


I do not quite understand that. AFAIK the FileInstaller sits and looks at
file system locations and installs bundles as they come and uninstalls them
as the corresponding file goes away, right ? This is more or less, what I
do. I just add more fine grained control, in that I support more conrol over
the lifecycle of bundles contained in assemblies, like starting and
stopping. It is the task of the background thread to react to BundleEvents
of the assembly bundles.

Regards
Felix

Reply via email to