Thanks very much David for the info on this topic.

Still have several questions.

On Tue, May 3, 2011 at 7:55 AM, David Blevins <david.blevins@gmail.com> wrote:

On Apr 14, 2011, at 1:25 AM, han hongfang wrote:

> Hi devs,
>
> I got following errors when I tried to generate the jaxbmodel class for openejb-jar-2.2.xsd using maven-jaxb-plugin:1.1.1. Taking entity-manager-factory-ref for instance, it can not be found in geronimo-naming-1.2.xsd.


The openejb-jar-2.2.xsd comes from latest geronimo server v3.0-snapshot build under schema folder. To me, I think this xsd file is invalid since for example, <xs:element ref="naming:entity-manager-factory-ref"/>, entity-manager-factory-ref can not be found under xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2". Is this OK?

Another question is, in geronimo v3.0-snapshot, which schema should the deployment plan openejb-jar.xml comply to? openejb-jar-{versionA}.xsd or geronimo-openejb-{versionB}.xsd, or even both are OK? and what the value of {versionA} and {versionB}?
 
This old email has some related info:

 http://markmail.org/message/w76ndrfv27v53mbk

There already are JAXB objects for old/new descriptors and as a result the schema is rarely updated.  I think for a while we didn't even have one.

There's a bit of legacy here in the for a short bit (Geronimo 1.0/OpenEJB 2.0) OpenEJB was not really a separate project in any technical sense.  The OpenEJB 3.x codebase returned to being more standalone.  The reason to keep the v2 openejb-jar.xml format was it was made 100% for Geronimo -- it has all the Geronimo dependency and config stuff in it amongst other things.

Anyway, here are the root JAXB objects for the related trees:

openejb-jar v2:  http://svn.apache.org/repos/asf/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/OpenejbJarType.java
geronimo-ejb
:
http://svn.apache.org/repos/asf/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb2/GeronimoEjbJarType.java

I'm considering to reuse these JAXB objects in Geronimo server adapter v3.0. Can you point me to the exact xsd file for this JAXB objects? I did a quick check, and can not find some classes in openejb-jar-2.2.xsd and geronimo-openejb-2.0.xsd, which come from latest geronimo v3.0-snapshot build, e.g., AbstractClusteringType. Meanwhile, I plan to put the JAXB objects of geronimo-openejb-{version}.xsd and openejb-jar-{version}.xsd into separate package.

Here's the newer non-geronimo-specific openejb tree:
http://svn.apache.org/repos/asf/openejb/trunk/openejb3/container/openejb-jee/src/main/java/org/apache/openejb/jee/oejb3/

In terms of what we should do now with a new major Geronimo version, I suspect it will largely depend on David J's work.  Seems like there'll be a very big and very not backwards-compatible change with regards to parents/childern and dependency information.  Not sure what our plans are with regards to backwards compatibility of existing descriptors.


-David




--
Best regards,

Han Hong Fang (Janet)
hanhongfang AT apache.org