2021-01-21 00:56

放在 undertow 上与在 tomcat 上是一样的,当然是可以的

只需要处理好 session 共享就可以了,其实只需要弃用 session,而是将登录信息放在一个集中的数据库的 table 中就可以了

社区提供的 jfinal club 就是使用的 session 表方案:
https://jfinal.com/club

2021-01-21 00:54

目录没有登录、注册只是暂进的

最近没时间看社区,暂时隐藏

2021-01-19 22:37

估计是你的缓存配置了持久化,所以重新加载的时候要重磁盘加载数据

检查 ehcache.xml 中是不是有这种配置:
diskPersistent=true

2021-01-19 22:34

@prelove class java.time.LocalDateTime 不能转化为 java.util.Date,单步调试看是哪行代码抛出的

然后贴出代码来,改进一下就可以了

2021-01-19 22:32

你的建议:"根据list里的Model或则Record,去取对应表里的所有字段,然后拼接成像"

这个应该是不好解决,我举个例子,假定有个表是 table_x, 字段有三个 (id, x, y)
1:假定字段 id、x 不能为 null ,也就是说 insert 语句必须要给定值
2:假定字段 y 可以为 null,你可以指定值也可以不指定
3:有时候 y 字段的值你是知道的,所以你可以指定,但有时候你不知道该指定为什么值

以上情况下,如果 jfinal 自做主张,生成的 sql 包含字段 y, 那么有些不指定 y 值的 Record/Model 该放入什么值?


其实你的需求,使用 Db.batch(...) 手动指定 sql 也是可以的,方法原型如下:
public int[] batch(String sql, String columns, List modelOrRecordList, int batchSize)

2021-01-19 15:54

fatjar 模式改配置文件不太方便,这个分享很有用,赞一个

此外, jfinal undertow 还提供了五个参数的命令行支持,而且是优先于 undertow.txt 支持的,具体代码在这里:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/UndertowServer.java#L362

注意看 loadCommandLineParameter() 方法上的注释说明,具体的用法如下:
java -Dundertow.port=8080 -Dundertow.host=0.0.0.0 -jar jfinal-club-release.jar

以上示例可以传入 port 、 host 两个参数,而且这两个参数拥有最高的优先级

一共有五个参数可以这样来传递:
port、host、resourcePath、ioThreads、workerThreads




传参注意事项:
1:传参规则由 java 命令行给定,与 jfinal undertow 项目完全无关
2:传参以 "-D" 为前缀,并且该前缀与后方的参数名之间不能有空格
3:参数名与参数值中间用等号字符分格,且等号前后不能空格

2021-01-19 15:48

异常信息不全,看不到是哪个方法调用的时候出现的,注意贴代码的时候先点击编辑器左上角的代码按钮,再复制代码

2021-01-16 15:29

@zhangtianxiao PathScanner 只扫描 controller,不支持内部类的扫描

2021-01-16 15:28

@zhangtianxiao 你的 Model 已经生成了 baseModel ,为啥还要:
SerializeConfig.getGlobalInstance().put(type, value);

fastjson 不走 getter 方法,你的 model 中的字段的下划线怎么处理?

2021-01-15 22:57

举一反三,灵活运用,赞

jfinal 的 Scanner 精心设计过,性能、场景适应性极好

2021-01-15 15:50

@都市浪魂 由于你碰到的问题是与环境有关的,使用排除法比较方便

2021-01-15 15:49

@都市浪魂 你再检查一下是不是 JDK 不对,例如是不是装了 openJDK 而不是 oracle JDK

尝试升级一下 cglib 这个依赖

当然,终极办法是远程调试:
https://jfinal.com/share/1528
https://jfinal.com/feedback/5106

2021-01-15 15:24

为啥这行代码既使用 @Inject 又使用 Aop.get(...):
@Inject
private CameraInfoService cameraInfoService = Aop.get(CameraInfoService.class);

在 CheckCameraInfoTask 里头的 doUpdate() 里头打断点,单步调试定位原因

2021-01-15 14:35

@都市浪魂 问题好像出在 CheckCameraInfoTask 里面,不在 CameraInfoService 里,这个类贴出业,原有的 CameraInfoService 不用贴出来,看不出问题

2021-01-15 14:31

@lcmkc 这个问题其实很明确,在百度上搜索解决一下,搜这个东东:
java.lang.UnsupportedClassVersionError: has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0