Hi,

I was wondering what the correct lifecycle of a customizer bundle is in a deployment admin session. Let's assume a deploymentpackage has been installed containing a customizer bundle (a resource processor) and one processed resource. Now this deploymentpackage is updated not to contain the resource anymore: an empty deployment package. According to the spec (as I see it) the following should happen (the numbers refer to the numbering in the spec, chapter 114.8):

4) all target bundles are stopped (in this case, only the customizer bundle)
5) no bundles have to be installed or updated
7) customizer and stale customizer bundles should be started (in this case, only one stale customizer is started)
8-10) all resources are processed (in this case none)
11) all stale processed resources are dropped (in this case, only the processed resource that was previously deployed. It will be dropped by the stale customizer/resource processor we just started) 12) all stale bundles are uninstalled (in this case, only the stale customizer bundle) 13-14) all resource processors involved are told to prepare and commit (in this case, the stale customizer should prepare and commit - but we just uninstalled it?)

This would imply that we should not uninstall stale customizer bundles in step 12 because we need to call prepare and commit on it to finalize dropping stale resources. This would mean the customizer/resource processor is present from the moment it is deployed alongside a processed resource until the deployment package is uninstalled entirely.

One solution could be: If a resource is present in deploymentpackage N then the corresponding resource processor/customizer should always be present in deploymentpackage N+1, even if that does not contain the resource anymore.

That seems odd to me, any idea's on what the intended use of customizer bundles is here?

-Christian
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to