Details

    • Type: Sub-task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Out of Date
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: OSGi
    • Labels:
      None

      Description

      Bundle uninstall only removes the BundleRevision from the runtime if it is no longer in use. The classloader associated with an uninstalled bundle that is still in use remains active.

      Approach #1 - "in use" semantic specific to Bundle deployments

      An undeploy management operation undeploys the bundle revision but holds in the MODULE phase when the revision is still in use
      This is similar to deferred MODULE phase for deploy operation
      in use is not respected for non-osgi deployments and hence breaks bundle deployments that depend on them

      Approach #2 - "in use" semantic applies to all deployment types

      Undeploy will only destroy the Module service if the Module is not in use by another deployment
      When Module usage drops to zero, undeploy continues and removes the deployment from management
      This approach would map cleanly - there is no cascading destroy effect. i.e. when you undeploy a jar that a webapp depends on
      Services provided by the undeployed deployment would always go down, only classloader destruction is deferred

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                thomas.diesler Thomas Diesler
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: