Thanks for the clarification Galder. I'm in the process of creating
Externalizers to optimize the serialization done by Infinispan and this
clears up a lot of my confusion.
It's ok by me if you make this change in 5.1.x.
On 05/03/2012 02:23 AM, Galder ZamarreƱo wrote:
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