Ok, guys. I've made a bunch of changes here, to allow the state
transfer code base work with the VAM.
1) Added interface methods for the VAM to read/write to streams
rather than just byte arrays (this is all JGroups used for RPC)
2) Added interface methods to the VAM so callers could pass in an
Fqn as a 'region' (up until now this was extracted from MethodCalls
for RPC)
3) Changed all stream read/write code in StateTransferManager,
DefaultStateTransferIntegrator, DefaultStateTransferGenerator,
StateTransferFactory and AbstractCacheLoader to use the marshaller
rather than direct stream IO
4) Changed same classes above to not set context class loaders for
regions. This is left up to the marshaller, which has knowledge of
how to do this anyway.
The result is simplified state transfer code (no concerns re: context
class loaders) and a unified marshalling mechanism.
So far, things look good and the unit tests run fine. Do shout if
this does break anything - Brian, particularly interested in how this
deals with regions with web app deployment in AS.
Cheers,
--
Manik Surtani
Lead, JBoss Cache
JBoss, a division of Red Hat
Email: manik(a)jboss.org
Telephone: +44 7786 702 706
MSN: manik(a)surtani.org
Yahoo/AIM/Skype: maniksurtani