Gridgain Error Suppressed:class org.gridgain.grid.GridException:无法序列化对象

时间:2015-01-10 00:35:56

标签: gridgain

我试图将一个键作为String,值作为List Intervals>在缓存中,我收到以下错误。我在dao中有一个put方法,如object,object>所以它可以用于差异缓存

输入

[MAC4, [com.xx.Interval@1bccacc7]]
[MAC3, [com.xx.Interval@754b3232]]
[MAC1, [com.xx.Interval@78cf9e78, com.xx.Interval@6ad163f]]  

MAC *是键,间隔对象列表是值。 代码:

 griddao.put("intervals",tuple.getValue(0),tuple.getValue(1));

在griddao

public void put(String cacheName, Object key, Object value) throws GridException {
                GridCache<Object, Object> cache = caches.get(cacheName);

                if ( cache != null ) {
                  cache.put(key, value);
                }
                else {
                  LOG.error( "Cache is null");
                }

1 个答案:

答案 0 :(得分:1)

看起来你忘了附上你得到的实际错误。请提供完整的例外跟踪。

现在您可以检查Interval类是否实现了Serializable。如果它没有并且您无法更改它,请将marshaller配置为不需要Serializable接口,如下所示:

<bean id="grid.cfg" class="org.gridgain.grid.GridConfiguration">
    ...

    <property name="marshaller">
        <bean class="org.gridgain.grid.marshaller.optimized.GridOptimizedMarshaller">
            <property name="requireSerializable" value="false"/>
        </bean>
    </property>

    ...
</bean>