OptimizedOutputStream and OptimizedInputStream didn't send versioning information before.
These were overriding metadata discovery by always rebuilding it from current class, what means if a field is added ObjectInputStream will "think" the streaming should have everything. Then my changes basically consisted of fixing writeClassDef and readClassDef by falling back to the defaults classes, if a System property is defined. From now on if a change in a class happens we will have much better chances of being compatible between versions. But now the problem is on ServerAddress. That class had a field added on 4.0.3, (and I thought the field was added on 4.0.4.rc1), and there is no way to make Pooled invokers compatible on 4.0.x <-> 4.0.2, unless we break 4.0.x <-> 4.0.3. I would like to keep PooledInvokers broken between 4.0.2<->4.0.x, but I can't take that decision alone. There is no way to hack this to keep it always work. I almost got a way to write a hack (really a hack) using Serialization's protocol on a private writeObject and private readObject method, but on the end it wasn't possible at al because the presence of writeObject was telling serialization to send an extra byte. And even that way, the hack was so ugly that I didn't want to commit. So, can I proceed on breaking 4.0.2 <->4.0.x on pooled invokers and having it working after 4.0.3? ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 _______________________________________________ JBoss-Development mailing list JBoss-Development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-development