POF Serialization err unknown user type:com.tangosol.run.xml.SimpleElement
692356Mar 27 2009 — edited Mar 28 2009I am trying to use POF serialization. I am running with the following configuration...
I have set the following properties for coherence server node when it starts up:
tangosol.coherence.distributed.localstorage := true
tangosol.pof.config := carbon-pof-config.xml
tangosol.pof.enabled := true
tangosol.coherence.member:=AT01073-4488-1238199841069
My dataobjects extend AbstractEvolvable and implement the PortableObject interface.....
It can be seen from the log that coherence picks up the pof configuration from the correct pof-config file...
Loading POF configuration from resource "jar:file:/D:/Source/carbon-data/target/carbon-data-1.00.0.000-SNAPSHOT.jar!/carbon-pof-config.xml"
my pof config file is:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pof-config SYSTEM "pof-config.dtd">
<pof-config>
<user-type-list>
<user-type>
<type-id>1</type-id>
<class-name>DReferenceDataObjectImpl</class-name>
</user-type>
<user-type>
<type-id>2</type-id>
<class-name>DAttributeOptionImpl</class-name>
</user-type>
<user-type>
<type-id>3</type-id>
<class-name>DProgramAttributeImpl</class-name>
</user-type>
<user-type>
<type-id>4</type-id>
<class-name>DProgramImpl</class-name>
</user-type>
<user-type>
<type-id>5</type-id>
<class-name>DAttributeOptionJoinImpl</class-name>
</user-type>
</user-type-list>
<allow-subclasses>true</allow-subclasses>
</pof-config>
relevant section of my cache configuration is :
<distributed-scheme>
<scheme-name>default-distributed</scheme-name>
<service-name>DistributedCache</service-name>
<backing-map-scheme>
<class-scheme>
<scheme-ref>default-backing-map</scheme-ref>
</class-scheme>
</backing-map-scheme>
<serializer>
<class-name>com.tangosol.io.pof.ConfigurablePofContext</class-name>
</serializer>
</distributed-scheme>
On the weblogic server instance where the data is being put in the cache no errors are being reported. (it shares identical configuration except local storage is disabled for distributed cache).
However the following exception is thrown on the server side.
java.lang.IllegalArgumentException: unknown user type: com.tangosol.run.xml.SimpleElement
at com.tangosol.io.pof.ConfigurablePofContext.getUserTypeIdentifier(ConfigurablePofContext.java:400)
at com.tangosol.io.pof.ConfigurablePofContext.getUserTypeIdentifier(ConfigurablePofContext.java:389)
at com.tangosol.io.pof.PofBufferWriter.writeObject(PofBufferWriter.java:1432)
at com.tangosol.io.pof.ConfigurablePofContext.serialize(ConfigurablePofContext.java:338)
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.writeObject(Service.CDB:4)
at com.tangosol.coherence.component.net.Message.writeObject(Message.CDB:1)
at com.tangosol.coherence.component.net.message.DistributedCacheResponse.write(DistributedCacheResponse.CDB:2)
at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher.packetizeMessage(PacketPublisher.CDB:137)
at com.tangosol.coherence.component.util.daemon.queueProcessor.packetProcessor.PacketPublisher$InQueue.add(PacketPublisher.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.dispatchMessage(Grid.CDB:50)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.post(Grid.CDB:53)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$StorageIdRequest.onReceived(DistributedCache.CDB:47)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:130)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:37)
at java.lang.Thread.run(Thread.java:619)
Any help would be greatly appreciated.
Thanks.
Shamsur