2020-07-14 17:21

如果希望不停服重启,用一个 nginx + 多个 jfinal 做一个集群就可以了,共享数据放在数据库里头,该开启事务开事务,保障数据一致性就可以了

2020-07-14 17:18

解决方案已经有过多次说明:
https://jfinal.com/feedback/1925
https://jfinal.com/feedback/7419

2020-07-14 16:31

enjoy 内部是没有进行过大小写转换的

从你的截图判断,你认为是 #include 指令中的 _adminForm.html 变成了 _AdminForm.html

那么简单验证一下,将 _adminForm.html 改为 abc.html, 看看报出的异常会不会仍然是 _AdminForm.html 找不到,大概率异常信息仍然没变

这样就排除了问题是出在 #include("_adminForm.html") 这个地方的可能

用排除法,逐步逼近定位问题

当然 , @杜福忠 建议的搜索办法是最快捷的,可以直接搜索 _AdminForm 更精准

2020-07-13 15:17

并不多余,因为 batchSize 可以设置为小于 recordList.size(), 从而可以分多次提交数据

该参数用于开启事务时,避免由于 batchSize 过大导至的自动提交,从而无法回滚

2020-07-13 14:51

@zzutligang 支付这种事跟微服务类似,涉及到多个服务之间的调用、协调,成本自然会很高

这也是为啥 jfinal 到现在也不趟微服务这滩浑水的主要原因之一

2020-07-13 12:34

项目开源没有?

2020-07-13 12:33

@lzw0128 退款对安全性要求很高,所以需要使用证书

2020-07-13 12:32

@zzutligang 你没加入 jfinal 俱乐部,搞微信支付当然就累了。

支付这种代码在 jfinal 俱乐部都是现成的, 我亲手写的代码,拿来即用

2020-07-13 11:40

看上去是 URL 有错误, url 后面多了 IP v6 地址,仔细调试一下

开发与微信平台交互的项目,一定要先搭建一个调试环境,参考我的博客:
https://my.oschina.net/jfinal/blog/336861

2020-07-12 18:36

当然, sql 也写在业务层:

public class UserService {
User dao = new User().dao();

public User getUserByEmail(String email) {
return dao.findFrist("select * from `user` where email = ?", email);
}

...
}

2020-07-12 18:34

jfinal 的 Model 已经帮你实现了 dao 层的事,所以你在用 jfinal 开发的时候无需再自建 dao 层,只需在业务层中这样来用:

public class UserService {
User dao = new User().dao();

public User register(String userName, String password) {
dao.findFirst(...);
}
}

2020-07-11 16:52

最好的办法是在开发的时候将模板放在 src/main/resources 目录或者其子目录下面,然后只需要配置一个 engine.setToClassPathSourceFactory() ,engine.setBaseTemplatePath(...) 基本就搞定了

不要在开发的时候模板放在 webapp 下,而打包时放在 src/main/resources 下,这样增加了一些麻烦

2020-07-11 16:50

下载首页的 jfinal_demo_for_maven.zip,里面有一个打成 fatjar 的文档,严格那照里面的步骤来即可

2020-07-11 16:46

这个需求太偏应用了,好好修改主字段值就好

2020-07-10 23:57

DruidPlugin 中有很多可以配置的属性,其中很多都写了注释:
https://gitee.com/jfinal/jfinal/blob/jfinal-4.9/src/main/java/com/jfinal/plugin/druid/DruidPlugin.java

根据注释选择需要的配置,我记得是可以实现你需要的 keepalive 功能的

其实连接池有一个基本功能就是实现 keepalive