Uploaded image for project: 'Spring Web Services'
  1. Spring Web Services
  2. SWS-253

Tiger jars should not include non-tiger classes

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5 M1
    • Fix Version/s: 1.5 M2
    • Component/s: Core, OXM
    • Labels:
      None

      Description

      The 1.5.0 M1 tiger jars include the non-tiger classes. This should be fixed.

        Activity

        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        This is a feature of the felix OSGI bundle plugin we use. According to Costin, using an explicit Import-Packages statement in the pom should fix this.

        Show
        arjen.poutsma Arjen Poutsma added a comment - This is a feature of the felix OSGI bundle plugin we use. According to Costin, using an explicit Import-Packages statement in the pom should fix this.
        Hide
        arjen.poutsma Arjen Poutsma added a comment -
        Show
        arjen.poutsma Arjen Poutsma added a comment - This seems related: http://issues.apache.org/jira/browse/FELIX-449
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        The more I think about it, the more I am convinced that the copying of classes from non-tiger bundles into the tiger bundles is actually desirable. To see why, imagine that there are two separate bundles, one containing the non-tiger classes, and one with the tiger classes. Now create a reference to the Jaxb2Marshaller (in oxm-tiger). The OSGi runtime will lookup the class and see that it is provided by the org.springframework.oxm.jaxb package. The Jaxb2Marshaller depends on AbstractJaxbMarshaller, which is is oxm (non-tiger), in the same package. This class will not be found in the oxm-tiger bundle already loaded, and therefore will not be found at all.

        So, as the outcome of this Reductio ad absurdum, the tiger bundles should contain the non-tiger classes in the same packages.

        Show
        arjen.poutsma Arjen Poutsma added a comment - The more I think about it, the more I am convinced that the copying of classes from non-tiger bundles into the tiger bundles is actually desirable. To see why, imagine that there are two separate bundles, one containing the non-tiger classes, and one with the tiger classes. Now create a reference to the Jaxb2Marshaller (in oxm-tiger). The OSGi runtime will lookup the class and see that it is provided by the org.springframework.oxm.jaxb package. The Jaxb2Marshaller depends on AbstractJaxbMarshaller, which is is oxm (non-tiger), in the same package. This class will not be found in the oxm-tiger bundle already loaded, and therefore will not be found at all. So, as the outcome of this Reductio ad absurdum, the tiger bundles should contain the non-tiger classes in the same packages.
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        As it turns out, the copying of classes from non-tiger bundles into the tiger bundles is not necessary (despite my comment above).

        We are now using the latest version of the Felix Maven Bundle plugin, which allows you to specify an excludeDependencies instruction. This fixes this issue. All bundles now deploy in Knoplerfish correctly.

        Show
        arjen.poutsma Arjen Poutsma added a comment - As it turns out, the copying of classes from non-tiger bundles into the tiger bundles is not necessary (despite my comment above). We are now using the latest version of the Felix Maven Bundle plugin, which allows you to specify an excludeDependencies instruction. This fixes this issue. All bundles now deploy in Knoplerfish correctly.
        Hide
        arjen.poutsma Arjen Poutsma added a comment -

        Closing 1.5 M2 issues.

        Show
        arjen.poutsma Arjen Poutsma added a comment - Closing 1.5 M2 issues.

          People

          • Assignee:
            arjen.poutsma Arjen Poutsma
            Reporter:
            arjen.poutsma Arjen Poutsma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: