错误信息:
原代码:
if (null != dtoErrorDataSqlResult) {
if (list.size() > 40) {
dtoErrorDataSqlResult.setDatas(list.subList(20, 40));
} else {
dtoErrorDataSqlResult.setDatas(list);
}
addValue("cacheDFS", cacheID, dtoErrorDataSqlResult);// 缓存查询结果
}
修改后的代码:
if (null != dtoErrorDataSqlResult) {
if (list.size() > 40) {
List<Map<String, String>> tmp = new ArrayList<>(list.subList(20, 40));
dtoErrorDataSqlResult.setDatas(tmp);
} else {
dtoErrorDataSqlResult.setDatas(list);
}
addValue("cacheDFS", cacheID, dtoErrorDataSqlResult);// 缓存查询结果
}
看源码注释得知错误原因是:List.subList方法返回的只是一个视图,而ehcache写入磁盘需要的是实体,所以出现此问题!
- 大小: 117.9 KB
分享到:
相关推荐
主要介绍了java 中序列化NotSerializableException问题解决办法的相关资料,这里对序列化问题进行描述说明,并提供解决办法,希望能帮助到大家,需要的朋友可以参考下
java.io.NotSerializableException: com.baizhi.entity.User 在mybatis中使用二级缓存时候就必须需要将实体类序列化implements Serializable,我的mapper文件使用了标签,使用了mybatis提供的二级缓存,所以在我的...
导入java.io.NotSerializableException; 导入java.io.ObjectStreamException; 导入java.io.Serializable; 导入java.security.AccessController; 导入java.security.AuthProvider; 导入java.security....
struts2 依赖核心包 --xwork 源文件
catch (NotSerializableException e3) { JOptionPane.showMessageDialog(null, "对象未序列化!"); } catch (IOException e4) { JOptionPane.showMessageDialog(null, "不能写入到指定服务器!"); } } ...
在Java中提供有ObjectInputStream与ObjectOutputStream这两个类用于序列化对象的操作。这两个类是用于存储和独缺对象的输入输出流类,只要把对象中的所有成员变量都存储起来,等于保存了这个对象,之后从保存的...