[infinispan-dev] Marshalling/unmarshalling known type

Sanne Grinovero sanne at infinispan.org
Mon Apr 25 09:34:33 EDT 2016


+1

I do similar tricks in externalizing some metadata for Lucene: some
custom Externalizers expose a static helper method so others from the
same package can invoke it directly.

On 25 April 2016 at 15:25, Pedro Ruivo <pedro at infinispan.org> wrote:
> Hi,
>
> I've noticed the same when I refactor the commands marshalling.
>
> I thought about creating a MarshallUtil.writeObjectWithExternalizer(T
> obj, Externalizer<T> ext) to handle this cases but it was outside the
> scope of that JIRA.
>
> In the end, most of the externalizers are stateless and it can be a
> Singleton and the allocation can be removed. +1 to create a JIRA to
> improve this cases.
>
> Pedro
>
>
> On 04/25/2016 01:36 PM, Radim Vansa wrote:
>> Hi,
>>
>> I've noticed that sometimes we marshall objects just using
>> output.writeObject() even though we know the target type - one example
>> for all is CommandInvocationId. That's somewhat suboptimal, as we know
>> that there won't be any CommandInvocationIdEx, so we could spare the
>> externalizer lookup and few bytes for object identifier.
>>
>> Is there any better way than
>>
>> new CommandInvocationId.Externalizer().writeObject(output,
>> commandInvocationId)?
>>
>> Should we use this ^? I guess that object allocation will be eliminated
>> here easily.
>>
>> Radim
>>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev


More information about the infinispan-dev mailing list