[infinispan-issues] [JBoss JIRA] (ISPN-2282) Custom Externalizers cause NotSerializableException
Galder Zamarreño (JIRA)
jira-events at lists.jboss.org
Fri Sep 14 05:39:32 EDT 2012
[ https://issues.jboss.org/browse/ISPN-2282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12718589#comment-12718589 ]
Galder Zamarreño commented on ISPN-2282:
----------------------------------------
@Erik, I'd argue that to get the best performance out of the system, you should be using the advanced externalizers (https://docs.jboss.org/author/display/ISPN/Plugging+Infinispan+With+User+Defined+Externalizers#PluggingInfinispanWithUserDefinedExternalizers-AdvancedExternalizers), as opposed to the user friendly ones that are annotated with @SerializeWith :). With advanced externalizers one of the reasons you get getting better performance is cos the externalizer does not require to be marshalled, hence no need to mark it Serializable.
We think you have a point though and we'll revert back since having Externalizer extend Serializable has no negative impact on AdvancedExternalizers, however, i'd recommend you switch to the latter option asap :)
> Custom Externalizers cause NotSerializableException
> ---------------------------------------------------
>
> Key: ISPN-2282
> URL: https://issues.jboss.org/browse/ISPN-2282
> Project: Infinispan
> Issue Type: Enhancement
> Components: Marshalling
> Affects Versions: 5.2.0.Alpha3
> Reporter: Erik Salter
> Assignee: Galder Zamarreño
> Fix For: 5.2.0.Alpha4
>
>
> Since org.infinispan.marshall.Externalizer no longer extends Serializable, my custom Externalizers throw NotSerialazbleExceptions.
> Example:
> Caused by: org.infinispan.marshall.NotSerializableException: net.beaumaris.odrm.resmanagement.type.ODRMSessionData$ODRMSessionDataExternalizer
> Caused by: an exception which occurred:
> in field externalizer
> in object org.infinispan.marshall.jboss.JBossExternalizerAdapter at 2c370555
> -> toString = org.infinispan.marshall.jboss.JBossExternalizerAdapter at 2c370555
> in object net.beaumaris.odrm.resmanagement.type.ODRMSessionData at 62c91115
> -> toString = ODRMSessionData [sopId=999991, segmentIndex=0, streamerId=99999]
> in object org.infinispan.commands.write.PutKeyValueCommand at cf4d21f7
> -> toString = PutKeyValueCommand{key=9d3d0a41-4d2a-4320-aa38-64a5203c49bf, value=ODRMSessionData [sopId=999991, segmentIndex=0, streamerId=99999], flags=[SKIP_REMOTE_LOOKUP], putIfAbsent=false, lifespanMillis=-1, maxIdleTimeMillis=-1}
> in object org.infinispan.commands.remote.SingleRpcCommand at 280f4ad0
> -> toString = SingleRpcCommand{cacheName='ODRM_SESSION', command=PutKeyValueCommand{key=9d3d0a41-4d2a-4320-aa38-64a5203c49bf, value=ODRMSessionData [sopId=999991, segmentIndex=0, streamerId=99999], flags=[SKIP_REMOTE_LOOKUP], putIfAbsent=false, lifespanMillis=-1, maxIdleTimeMillis=-1}}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list