geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Blevins <>
Subject Re: API and serialization compatibility, was: Build Failure
Date Fri, 13 May 2005 22:54:04 GMT
On Fri, May 13, 2005 at 03:42:58PM -0700, Jeremy Boynes wrote:
> Aaron Mulder wrote:
> >On Fri, 13 May 2005, Jeremy Boynes wrote:
> >
> >>Because we do not maintain API or serialization compatibility.
> >
> >
> >	Okay, that makes sense.  I guess it's the serialized configuration
> >information that's a problem?  
> >[...]
> The lack of compatibility, however, is a problem in general as it means 
> you need to redeploy everything for each new version of Geronimo.
> Solving the compatibility problem will require the developers to pay 
> attention to versioning. We will need to require that at some point though.

Paying attention is an understatement.  In order to serialize data to and from class definitions,
those classes cannot change in any significant way, ever.  No refactoring, repackaging, reorganizing,
no removing methods, no removing class variables.  This doesn't just apply to public APIs,
but even the internal classes of each component.

Considering that at deploy time we are building and serializing Jetty web containers, Tomcat
web containers, ActiveMQ queues/topics, OpenEJB ejb containers, Axis webservices, TranQL connectors
and more, is it reasonable to ask or expect these projects basically not to change their code?

Clearly, projects will clean and improve their code, we can't and shouldn't try and stop them.
 We want them to optimize and improve things.  As this change is going to occur, people *will*
have to redeploy their apps as we support no other way to store configurations.

Serializing and deserializing server state for fast startup is a cool feature, but not something
we are in any position to guarantee between releases of Axis, ActiveMQ, OpenEJB, Jetty, Tomcat,
et. al.


View raw message