[infinispan-dev] Why Externalizer does not need to extend java.io.Serializable

Paul Ferraro paul.ferraro at redhat.com
Thu May 3 10:18:33 EDT 2012


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
>



More information about the infinispan-dev mailing list