在网上查了各种解决办法,目前在web加了配置,手动System.setProperty("net.sf.ehcache.enableShutdownHook", "true"),读之前调用flush,删除和设置后也调用了flush,发现在jfinalconfig里面就可以,而且重新设置必须得先删除原有的数据,代码如下:
HashMap<Integer, User> map = (HashMap<Integer, User>) CacheManager.me.getCache(CacheNames.PERSISTENT, "test");
if (map == null) {
System.out.println("ssssss");
map = new HashMap<Integer, User>();
CacheManager.me.setCache(CacheNames.PERSISTENT, "test", map);
User u = new User();
u.userId = 1;
map.put(u.userId, u);
} else {
System.out.println(map.size());
User u = new User();
u.userId = 1;
CacheManager.me.deleteCache(CacheNames.PERSISTENT, "test");
CacheManager.me.setCache(CacheNames.PERSISTENT, "test", map);
map.put(u.userId, u);
map.put(2, u);
}
在其他地方就各种不灵了,连上面的代码都受到影响,一时可以一时不可以的。心态都崩了妈的。另外我看他们说System.setProperty("net.sf.ehcache.enableShutdownHook", "true")这行还需要设置环境变量,要怎么设置。反编译出来吧,代码各种bug,直接放弃了。求大神帮帮忙,好人一生平安。