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