2024-05-17 22:29

@zzutligang 如果确定配置都是一样的,不能复现的话。 就重新部署一套数据库,迁移过去吧。可能是磁盘或其他硬件已经出现问题了。我曾经遇到过一次仓库异常问题,仓库里面不能新建表了,迁移到其他库就正常了,后来发现是那块磁盘坏了(阿*云服务器自装 mysql)

2024-05-15 15:13

@冰雨 https://jfinal.com/share/2300 分享过一个在jdbcUrl中添加参数rewriteBatchedStatements=true 可以试下会提高速度不

2024-04-27 10:33

@liugz
String dbtype = rec.getStr(DBTYPE); // 数据库类型
这行之前加 代码:
//锁
synchronized(dbid.intern()){
// 再次判断数据库连接是否已经存在连接
RetKit hasDblink = getDblink(dbid);
if (hasDblink.isOk()) {
return hasDblink;
}
后续代码...
}

2024-04-26 09:44

启动数据库链接的整体代码 需要加锁,如果租户少,可以给启动代码整体 套个 synchronized(configName.intern()){ 就可以了,注意需要在锁外检查一下,和锁内再检查一次是否启动了数据库链接,再去启动数据库链接

2024-04-02 10:54

@hb963724769 主要是入库使用Java 加密后再入库,查询这个就是看情况了。 我们系统查询位置有统一查询方法,走同一个方法,并且需要加密的字段名是有标识,所以Java会自动根据规则是否解密还是打码处理展示的

2024-04-02 10:48

@hb963724769 查询需要看业务场景了,比如手机号 是全匹配查询,还是号段匹配查询,全匹配就加密后用加密串去查,分段查询就数据库提前冗余字段存储分段的值。比如地址查询,也是一样操作。还是看业务场景选择合适的查询。数据库解密函数查询相对比较耗费 cpu,主要也看服务器配置和数据量,返回时间能满足业务要求也是没问题的,还简单些

2024-02-28 10:47

推测是数据库的连接超时之类的配置时间太短了吧

2024-02-20 17:40

加个拦截器即可 String ct = request.getContentType();
return ct != null && ct.toLowerCase().contains("json");

2024-02-03 12:38

项目配置类就统一放在 JFinalConfig的子类configConstant方法里加载,方便大家协同开发
https://jfinal.com/doc/2-2

2024-02-01 11:15

@绿色的小苹果 你说的这个需求,以前我有分享过:https://jfinal.com/share/2404
我们是日志入库了,定期清理

2024-01-31 20:05

静态常量:
private static final Log log = Log.getLog(MyController.class);
private static final Log log = Log.getLog(MyService.class);
是说的这个? log.info,log.warn error debug

2024-01-31 19:57

JF 默认优先探测 log4j,没有时再使用JdkLog。

我推荐 Slf4jLog + Log4j2 这样一个组合,(注意是Log4j2,不是log4j)
slf4j日志门面, 数据库连接池 一般有用到它,所以本来也要加的。
log4j2有实现slf4j它,并且Office文档工具poi 有用到它,项目导入导出Excel一般是标配功能了,所以本来也要加的。

2024-01-27 11:47

我是放在 Java 这边处理的:https://jfinal.com/share/2708