You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Rick McGuire <ri...@gmail.com> on 2010/04/09 14:30:59 UTC
Geronimo specs and OSGi package export versions
There's one more bit that needs to be resolved before the Geronimo spec
packages can be released, and that's the issue of package export
versions in the different specs. There are a couple of issues involved:
1) Explicitly specified version numbers in the enterprise specification
2) A current proposal under discussion for semantic package versioning
at the OSGi Alliance.
In category 1), the only hit is to the JPA spec. The spec currently is
exporting the javax.persistence* packages as version 2.0, but the
enterprise spec specifically requires 1.1. Unfortunately, we've already
released a version exporting as 2.0, and that's the version that OpenJPA
is using to build their bundles.
For category 2, the current proposal would use the java ee 5 numbers as
a baseline and increment the minor version number. So, for example,
jaxb 2.1 would become jaxb 2.2 for the java ee 6 version, which matches
what we're already doing. It appears the only package we need to change
is servlet, which would switch from 3.0 to 2.6. We have not made an
official release of the servlet 3.0 spec yet, so switching this to 2.6
will have a lower impact.
The JPA spec is a problem. Just changing the export from 2.0 to 1.1
causes the geronimo build to break because the OpenJPA bundles are
looking for version 2.0 of these packages. One solution would be to
package these bundles using the desired package imports, but I'm
concerned that applications built against the current OpenJPA version
would not function correctly when deployed on Geronimo because of the
version mismatche. I suspect the Aries samples would have this problem,
for example.
I did a little experiment, and was able to get Geronimo to build again
by having the bundle export multiple package versions. I think this
will work as a short-term fix until OpenJPA releases a version that
imports the 1.1 version of the packages.
Rick
Re: Geronimo specs and OSGi package export versions
Posted by Rick McGuire <ri...@gmail.com>.
On 4/9/2010 9:48 AM, Kevan Miller wrote:
> Thanks for the update, Rick.
>
> Have you made the OpenJPA community aware of this issue?
>
No, not yet. I was looking for a little more feedback here to make sure
we had some consensus on what we'd like to ask for before I did that.
And I've found another issue with the servlet spec. I've been trying to
rebuild Geronimo using a servlet spec that exports the 2.6 level. I
first ran into a problem with Tomcat, but that was easily resolved by
rebuilding the external tomcat component we use. Jetty, however, is a
problem. We're currently using the 8.0.0.M0 version of Jetty, which has
it's own version of the spec classes. We pick this up and exclude their
version of the api definitions, but their version is also using 3.0 for
the servlet packages, which means we can't use these bundles directly.
I suspect the same trick I used with JPA will work here too.
Rick
> --kevan
>
>
>
Re: Geronimo specs and OSGi package export versions
Posted by Kevan Miller <ke...@gmail.com>.
Thanks for the update, Rick.
Have you made the OpenJPA community aware of this issue?
--kevan