Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-969

Empty Bundle-Blueprint: header should result in no blueprint container

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.4
    • 0.4
    • Application
    • None

    Description

      At the end of the OSGi R5 Enterprise spec section 121.3.4 we read,

      "If the Bundle-Blueprint header is specified but empty, then the Blueprint bundle must not be managed. This can be used to temporarily disable a Blueprint bundle."

      This behaviour is not currently implemented. As well as not being spec-compliant, it can be time consuming to scan large bundles for blueprint files. I'll firstly use this defect to change the behaviour so as to become spec-compliant.

      One problem with the spec as written is that bundles that do not contain blueprint must "opt out" of blueprint management by including an empty Bundle-Blueprint header. This is a problem for users that consume third party bundles that are unwilling or unable to modify their manifests. So I'm going to add a system property, "org.apache.aries.blueprint.header.mandatory". Its default value will be "false". Setting it to 'true' will mean that bundles that do not contain a Bundle-Blueprint: header in their manifests will not be scanned for blueprint and will not get runtime blueprint containers. ModelledResourceManagerImpl.findBlueprints() is expensive for large bundles, so this will yield substantial performance improvements for such users.

      Attachments

        Activity

          People

            mnuttall Mark Nuttall
            mnuttall Mark Nuttall
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 2h
                2h
                Remaining:
                Remaining Estimate - 2h
                2h
                Logged:
                Time Spent - Not Specified
                Not Specified