2020-10-24 17:07

@sliver 你可以适当地修改 jfinal undertow 源码,然后安装到本地来解决问题:
https://jfinal.com/share/2093

最后,做集群的话,我建议顶多是将 webapp 抽取到一个统一的地方去,配置 undertow.resourcePath 就可以重新指定 webapp 在哪里了

而 webapp 之外的 config、lib 这些目录以及文件建议各自独立

2020-10-24 17:05

@sliver 使用 jfinal undertow 部署时,会默认添加一个 "config" 目录为 class path,源码在这里:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/hotswap/ClassLoaderKit.java

但这个不影响你添加额外的 class path ,只需要在脚本里面向 CP 变量追加新的目录即可

原有的 config 目录最好是删掉

此外, PathKit.getRootClassPath() 这个变量与 undertow.resourcePath 配置中的第一个存在的目录有关,按理你获取到的值应该是 /root/app/webapp

2020-10-24 12:32

@小飞碟飞啊飞 你在 SessionInViewInterceptor 中设置断点,单步调试一下,看里面的执行流程对不对

2020-10-24 11:58

信息量太少

我建议你先将 config2 这个目录先创建好,如果目录不存在,可能是过不去的

2020-10-24 11:56

检查一下放数据到 session 了没有,代码像是这样的:
setSessionAttr("menus", ....);
或者这样:
getSession().setAttribute("menus", ....);

想取值先放值

2020-10-23 11:24

@huntxt 再删也没有错误,可能是没有保存模板文件从而上一次修改没有生效,不会再有问题了

2020-10-22 19:41

我在 chrome 中使用的时候是没问题的,你用的什么浏览器?

2020-10-22 19:40

remove 只是拿掉内存中的属性,如果再次查询数据库,查出什么字段,取决于 sql 的 select 后面指定的字段名

当然,如果你指定 select * 就可以查出所有字段

2020-10-22 15:09

数据未提交,意味着数据没有真正插入数据库,自然就读不到了

2020-10-22 14:06

@张先生的jfinal 瓶颈在 io 在网络

你取 12W 条数据中的数据量要计算好,试一试取 12W 的 integer 数据,这会快很多

2020-10-22 09:56

@fred 当前你可以用查找替换,将 '%s' 替换为 '{}'

2020-10-21 20:50

@wiboson 检查一下客户端在发送请求时带没带上自己的公钥/证书,你当前没获取到,没准是客户端的事

2020-10-21 20:44

@fred 当时为了偷懒没做 {} 占位的功能,先将这个放到开发备忘里头

2020-10-21 17:03

@hiado jfinal 的工作线程是容器创建的,可以主动让出线程,但代码不优雅

2020-10-21 16:51

在 jfinal 这个层面是没有配置的,也没有干预过, 完全由 tomcat、jetty、undertow 这些底层容器决定

如果生产环境有 nginx 代理的放在,也由 nginx 决定

所以,配置这些容器和 nginx 即可