Oracle Coherence Map反序列化错误

时间:2014-07-25 14:24:07

标签: java deserialization oracle-coherence

我有时会在反序列化聚合器时随机出错。当readExternal方法尝试反序列化地图时,会发生错误。 HashMap内的键值对似乎不为空。以前有没有人见过类似的问题?我正在使用Oracle coherence 3.7。堆栈跟踪表明在从标题中读取映射值类型时会发生问题。

this.calcMap = in.readMap(5, new HashMap<PriceArrayKey, Double>());

writeExternal方法代码

out.writeMap(5, this.calcMap, PriceArrayKey.class, java.lang.Double);

下面给出的stacktrace

Caused by: Portable(java.io.EOFException)
    at com.tangosol.io.AbstractByteArrayReadBuffer$ByteArrayBufferInput.readPackedInt(AbstractByteArrayReadBuffer.java:443)
    at com.tangosol.io.MultiBufferReadBuffer$MultiBufferInput.readPackedInt(MultiBufferReadBuffer.java:683)
    at com.tangosol.io.pof.PofBufferReader.readAsUniformObject(PofBufferReader.java:3344)
    at com.tangosol.io.pof.PofBufferReader.readMap(PofBufferReader.java:2537)
    at com.xyz.coherence.aggregator.Calculator.readExternal(Calculator.java:428)

2 个答案:

答案 0 :(得分:0)

您将“2”和“5”显示为不同的属性索引;这似乎是一个明显的问题。

我还建议仔细查看PriceArrayKey序列化,因为错误可能导致您在此处看到的内容。

答案 1 :(得分:0)

您尚未显示PriceArrayKey的序列化程序的实现。如果您使用PofSerializer实施,是否确定在序列化和反序列化方法中调用了out.writeRemainder(null)in.readRemainder()

相关问题