2023-08-30 10:05
@rctmlb 可能是 JDK 版本的问题,你是不是没有使用 Oracle 或者 OpenJdk 的版本? 可能有些比较偏门的 JDK 发行版本会有问题
无论如何,我这边代码已经调整过了,回发头个新版本给你:
https://gitee.com/jfinal/jfinal/commit/d95792105599e239ed5e87cf49bd19e4c449b64e
2023-08-13 18:45
代码质量非常高,已 star + fork
无意中发现个问题,反馈一下:
public class OperLogInterceptor implements Interceptor {
@Override
public void intercept(Invocation ai) {
ai.invoke();
// ACTION执行后记录日志,多线程记录,提升访问性能
new Thread(() -> writeOperLog(ai)).start();
}
....
}
以上在线程中 writeOperLog 会有问题,建议将绝大部分代码不要放在新线程之中,而只是将数据库操作放在独立线程中,因为瓶颈在数据库:
log.save();
此外,每次请求 new Thread(...) 开销会很大,可以用上 jfinal 内置的线程池:
ThreadPoolKit.execute( () -》 writeOperLog(ai));
2023-06-27 20:53
@chcode 这些一直都可以,博主的需求是批量插入数据,获得所有批量数据的主键值,而不是一个