users@jaxb.java.net

JAXB object "versioning"?

From: Mike Summers <msummers57_at_gmail.com>
Date: Sat, 1 Sep 2012 10:58:29 -0500

We're building a many developer app using JAXB and keep stumbling on
problems that all come back to "version" mismatch between producers and
consumers of JAXB objects.

Process hasn't alleviated the pain so I was thinking about something along
the lines of CORBA object versioning for JAXB, maybe via a required final
field whose values must match. Something like a Serializable
serialVersionUID that is added to the marshal stream when the object is
marshaled and is required and whose value is *checked* when the object is
unmarshaled.

Various check rules can be implemented, but in this case I only want
equality. If the current version of a Foo is 1.1 and I get data to
unmarshal whose version is anything other than 1.1 I will reject it.

As an added bonus I'd like to inject the version value as the Maven version
# :-)

This is all using annotations, no xsd.

Any suggestions as to a rational approach?

Thanks.