Memcache get方法抛出IOException

时间:2012-02-21 13:21:39

标签: java memcached

尝试进入memcache客户端时,获取以下内容。

Caused by: java.io.IOException: com.fet.myclass.webservice.data.DataList
    at com.schooner.MemCached.ObjectTransCoder.decode(Unknown Source)

请帮忙。感谢。

编辑:

DataList是我自己的对象。是否有任何约束,只有本机java对象可以缓存,像那样?

1 个答案:

答案 0 :(得分:0)

MemCached.ObjectTransCoder解码方法依赖java.io.ObjectInputStream从缓存中反序列化缓存的Java对象。

因此,首先,您必须检查您的DataList对象是否可序列化。也就是说:它实现了java.io.Serializable接口,并且它的所有类级别属性都是原始类型或可序列化对象。

另外,检查列出的组件代码here解码方法的实现方式是使用类名作为消息将ClassNotFoundException包装在IOExpcetion中,这似乎在这里发生。

所以,作为第二点,你应该检查你是否遇到这个错误的进程,你的类是否包含在它的类路径中(通过-cp参数,或者是什么情况),以及是否在错误与您的类完全限定名称完全匹配。