I've checked in a pretty comprehensive fix for this issue that should see us
safe in the future.

ProtocolMetaData can be propagated into Externalizable implementations. This
can then be used to determine which version the client is capable of
accepting - Especially, we cannot write a new entry to a legacy client as it
has no way of reading it.

Externalizables can check for and query the metaData in readExternal and
writeExternal:

if (null == metaData || metaData.isAtLeast(4, 6)) {
    ...the client is compatible...
}else{
    ...legacy
}

I have tested this extensively on my boxes, but not sure how to write a
'simple' test? - Can you point me in the right direction for an existing
test that I can hack?





--
View this message in context: 
http://openejb.979440.n4.nabble.com/EJBD-tp4664447p4664567.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Reply via email to