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

Galder Zamarreño galder at redhat.com
Fri May 4 04:05:43 EDT 2012


Based on testing, removing that had no impact on registered AdvancedExternalizers, so I'm only doing this for master.

Btw, pull req is up :)

On May 3, 2012, at 5:04 PM, Manik Surtani wrote:

> Yes, if it doesn't affect a properly registered AdvancedExternalizer then we should only do this for 5.2.0.
> 
> On 3 May 2012, at 15:40, Vladimir Blagojevic wrote:
> 
>> Is this change going to blow up serialization of our objects? People 
>> might use different Infinispan micro version inadvertently....
>> On 12-05-03 10:18 AM, Paul Ferraro wrote:
>>> 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
>>>> 
>>> _______________________________________________
>>> infinispan-dev mailing list
>>> infinispan-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>> 
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> 
> --
> Manik Surtani
> manik at jboss.org
> twitter.com/maniksurtani
> 
> Lead, Infinispan
> http://www.infinispan.org
> 
> 
> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache




More information about the infinispan-dev mailing list