A discussion about real-world modularity
David M. Lloyd
david.lloyd at redhat.com
Thu May 10 07:10:25 PDT 2012
On 05/10/2012 08:45 AM, Alan Bateman wrote:
> On 09/05/2012 19:22, David M. Lloyd wrote:
>> Some of you might find this interesting:
> The references to serialization are interesting as we need update
> serialization to work with modules. I can't quite tell from the link
> whether you are using the standard serialization protocol or something
> else. If it is the standard serialization protocol then I'm curious how
> you get the class loader identity into the stream.
Yes, and no. This refers to my JBoss Marshalling project which is an
alternative serialization API with more optimized implementations - it
conforms to the spec in terms of serializable objects but has a number
of extensions as well. There are two implementations at the moment - a
JDK-compatible protocol as well as a more optimized (for space and
Either way the class data is written using a class resolver. This is
basically equivalent to overriding
ObjectOutputStream#annotate[Proxy]Class(). The module identity is
written out and re-read and used to select the appropriate class loader.
Note that as I state in that mailing, this is often, but not *always*
preferred behavior, especially when you have different module environments.
More information about the jigsaw-dev