[infinispan-dev] Why Externalizer does not need to extend java.io.Serializable
Galder Zamarreño
galder at redhat.com
Thu May 3 02:23:36 EDT 2012
Re: https://issues.jboss.org/browse/ISPN-2029
Just a heads up as a result of an interesting discussion with Paul Ferraro last night:
So far Externalizer interface has extended Serializable and last night I was trying to wonder why that was.
As you guys might remember (https://docs.jboss.org/author/x/PwY5), there's two type of externalizers: user friendly and advanced.
The user friendly ones do not require any pre-registration or anything and thanks to the ability of JBMAR to ship Externalizers to remote nodes, we can support such use case. However, this requires Externalizer impls to be Serializable or Externalizable somehow.
However, that requirement is not there for advanced externalizers cos these must be registered somehow, either via programmatic or XML configuration, so in these case there's no shipping of Externalizer impls at all.
So, I'm gonna remove 'implements Serializable' from org.infinispan.marshall.Externalizer and instead require that any user-friendly externalizers are marker as Serializable or similar.
I'll be making this change in master, but what about 5.1.x? This change is not urgent but clarifies what the externalizer serialization requirements are.
Cheers,
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache
More information about the infinispan-dev
mailing list