日期:2014-05-20  浏览次数:20702 次

java 程序因为断电等原因异常退出怎么保存数据库
swing做的,访问localhost的mysql数据库.

帐号aaa登陆的时候设置表里的字段state=1表示正在登陆.

system.exit(0) 的时候 设置 state=0表示未登陆.

现在的问题是如果电脑死机或者停电.state无法更新为0.

求助各位大神啊.
------解决方案--------------------
表里除了state(int)再加一个beat_time(datetime)
然后除了原来的逻辑以外,程序每60秒执行一次beat_time=now,相当于心跳
然后判断已登录的条件变为state=1 and (now - beat_time < 70),60和70的差是为了解决设置与读取不同步的问题,不过会造成判断延迟(10秒左右)