2019-08-29 16:30

并发与很多因素相关, jfinal 诞生八年多,一直都极度关注性能,每一行代码都要考虑性能

所以 jfinal 的性能民传统框架的好几倍,可以自己在本地测试一下,参考这篇文章中提供的测试项目:
https://www.oschina.net/news/90815/jfinal-3-3

2019-08-29 14:49

注意排查是不是有多个版本 druid 的 jar 包有冲突,或者是没有引入该 jar 包

2019-08-29 14:48

@MarlonBrando jar包放到Tomcat的lib文件夹下不是一个好办法

这种方式能解决,已经证明了是 jar 包的问题,排查一下很好解决

2019-08-29 12:10

添加一下 druid 的依赖,可以参考 jfinal 项目的 pom.xml
https://gitee.com/jfinal/jfinal/blob/master/pom.xml

注意要去掉 scope provided 这个配置项

2019-08-29 12:09

@lori 如果希望用 fastjson 转换,需要配置:
me.setJsonFactory(new FastJsonFactory());

设置断点,看看转换流程走的是哪个类,这类问题很好查

出现 attrs 这个不太正常,一定要查出原因来,记得搞定后回来分享一下

2019-08-29 10:56

调整数据库连接池的初始大小,新版本 jfinal 做过调整,建议升级到最新版本 jfinal

启动会快得多

2019-08-29 10:11

检查你的 sql 序列处在事务中时,是不是发生了死锁

然后 google 搜索一下 "mysql 死锁" 解决

2019-08-29 10:04

看一下 jfinal 的 Model.java 源码中的 getAttrs() 方法是不是存在?

如果存在的话,升级到新版本,新版本方法名添加了下划线,不会被 fastjson 处理 _getAttrs()

不过这个只能解释属性到了 attrs 下面的原因,不能解释为什么你生成的 getter 方法未被用在 json 转换之中

查看一下 Useryieldlog 的 base model , 是不是真的生成了合格的 getter 方法

2019-08-28 18:22

拦截器与 Filter 完全无关

如果你是想添加 Filter ,直接在 web.xml 中添加即可,如果是 jfinal undertow 下开发,看下文档有关如何添加的办法

2019-08-28 17:19

大厂开放 API 时要考虑没有用上 https 通道的用户,所以一开始就提供了签名验证机制

有了签名机制无论在 https 还是 http 通道内都是安全的(当然,没有绝对的安全)

签名机制不要考虑是不是麻烦,而是要考虑是否有必要

2019-08-28 17:04

@jfinal初识 我还是直接说结果吧,你的这个需求不可能实现,原因如下:
1:batch 批量的基本出发点是: 一条 sql + 多组数据 一起提交到数据库进行操作

2:也就是说,一条 sql 要能被多组数据 "共用"

3:如果不能共用,那就是多条 sql + 多组数据,这种情况就不是 batch 操作了,而是与 for 循环一条一条 sql 去执行没有区别

4:也就是说, batch 操作要么是一条 sql 搞定所有数据,要么就不是 batch 操作


具体到你的需求,其中的那么 sql 大致是:
insert into (...) values ( ?, ?, ? )

假定上面的 sql 是三个问号占位符,假定你的数据前一万条都正好是三个参数,而第 10001 条数据只有两个参数,假定少了一个 name 字段的参数值

此时,JDBC 约定的同一条 sql 适用于多组数据,这个基本点就不成立了

说到底,是 JDBC 不支持,不是 jfinal 不支持

JDBC 要是真去支持,那就不是 batch 了

2019-08-28 16:19

@jfinal初识 这个不是 bug, jfinal 做这个功能的时候就是这么来设计的

你可以通过继承 DbPro 来覆盖这个 batch 方法,改成自己需要的逻辑,假定你的扩展类是 MyDbPro,扩展完以后配置一下即可使用:
activeRecordPlugin.setDbProFactory(new DbProFactory() {
public DbPro getDbPro() {
return new MyDbPro());
}
}

记得搞定后回来分享一下

2019-08-28 16:11

sql 是 insert , 为啥方法用 find?

改成 update(sql, ...) 即可

2019-08-28 15:26

建议 jfinal 升级到 4.4, jfinal undertow 升级到 1.9,大量优化,无缝升级

2019-08-28 15:20

@TommyLemon 提交时出现 "正文内容太少啦,多写点哈" ,这个是 ueditor 的 bug,解决办法是:
1:在 html 编辑模式完成后,切回来编辑正文
2:在正文中随意输出一个字符再删去
3:提交

其实,你不使用 html 编辑模式一点事也没有