2020-09-29 10:50
@彭大勃 谢谢你的回复。我再看看源码里那个序列化接口,从那个接口实现一个序列化对象,传进去应该就可以了。
2020-09-29 09:08
@JFinal,确实,我是在线程里run里不停的操作访问redis,如果不关闭,一会儿线程就卡死了。每次操作完,close掉,线程就不卡死了。我看JFinal里Redis的源码,也就是第二种用法,每次操作完,在finall里都关闭了。
另外,我想追问下,上次问了关于序列化的问题。如果全部用Redis封装好的方法而不是调用Redis.use(adapter.getRedisConfigName()).getJedis();后拿到Jedis操作,JFinal默认使用fst序列化库。能不能不用这个序列化库,就用原始的方法读写redis库?因为如果用封装的方法,会使用fst序列化库,但lua脚本里又使用原始的读写方法,这样两边序列化不一致,会报错。
2020-09-28 14:23
@李通,见到mm头像就不认识路了是吧。说不定后面是一个络腮胡子的大汗呢。开个玩笑!楼主提的问题,很奇怪。JFinal本来就是一套web的开发框架,你非要去做桌面应用,开发桌面应用,有很多更好用的开发语言和开发工具。何必为难自己呢!
2020-09-21 18:24
@JFinal,是的,我就是这么做的,使用jdk的线程池ExecutorService来控制的。我能保证线程里run函数每次循环执行,只会执行很少的点时间,一般不会超过1秒,其实就是往redis里的list压数据,和从redis的list里pop数据。这都会很快的。每次run的时候都去检查stop标志是否设置成true,如果为true,就停止run里的while,这样线程也就执行完了。从理论上来说,这种方法应该是可以保证数据不会丢失的。