2020-09-21 12:14
@JFinal 感谢波总的科普。我目前是做了一个线程管理插件。在onstop里把所有我起的线程设置stop标志,线程的run函数里while循环每次都判断这个标志,false就退出run,线程也就结束了。然后线程池等待所有线程执行完。再退出。按这个逻辑,目前测试看是可以控制住不丢数据的。当然,如果进程被-9kill掉,谁也没办法了。
2020-09-17 10:10
退出不会使用kill -9 方式。直接kill。JFinal会发起onStop回调。所有插件的onstop方法都会被调到。我自己写了一个插件,在插件里创建一个线程池。在插件里onstop里控制线程池shutdown,并且给每个线程设置标志位,线程里的run方法根据标志位决定是否继续循环。这样,就可以保证程序退出的时候,线程里的线程肯定能运行完。实际测试了一下,目前看还算可以。感谢@xiaoyi_e
2020-09-15 09:06
@flyinkeke 经过一夜的纠结和评估,还是觉得把id改成varchar了。坑死人的js!谢谢你的回复。我已经按你那个连接把雪花算法改一下了。
2020-09-14 18:08
@JFinal 我刚遇到这个问题,在前端是解决不了的,目前所有浏览器对number的支持都是到2的53次方减1,这么一个数。浏览器已经是解决不了。只能是后台解决。
2020-09-11 11:47
@JFinal 我这里就是接受波总的建议,所有操作数据的地方都放在
Db.tx () -> {
这里是数据库操作
});
这样操作,保险