2026-08-23 11:12

@JFinal openjdk-26上面照样运行,我查了一下官方也没有说要移除这个,25年的时候是有更新一个说明JDK 的 HTTP Server是一个功能不全的HTTP Server,(只支持 HTTP/1.1,没有HTTP/2、WebSocket等高级特性,在现代Web服务中就是玩具级别),所以使用场景有限。比如一些小的内部管理系统,或者CMS系统+云CDN缓存代理之类的,教学场景。开源必须的~

2026-08-22 16:23

@JFinal 确实,改名后就很麻烦,容器改名比fastjson1改fastjson2麻烦多了。。。不过也就老项目在用了。新项目得上aifei~ JdkHttpServer + 虚拟线程 也很能打

2026-08-22 16:18

@chcode 是的,这个是字节码替换方案,编译需要在9-版本上面,适合通用项目。

而jfinal-javax-to-jakarta用的是装饰器 类中间桥接进行转调,并且只对jfinal用到的类进行了代理处理,JF专用。可以直接在Tomcat 10+上进行编译运行调试。并且这个方案兼容低高版本,也就加了个中间件。

两种方案都是可以实现业务升级的。

2026-07-21 23:34

试试translate.js这款产品(gitee平台也在对仓库使用),利用JS对指定元素内的内容进行自动翻译替换内容,这个方案对于管理系统非常好方便。翻译的平台接口也可以使用自部署的后台
https://gitee.com/mail_osc/translate

2026-06-01 17:01

@chcode 赞,我记得群里有个社友有发一个 Enjoy的IDEA插件,现在不用配置语法提示,AI插件自己就知道语法(我用的Qoder企业版 里面有代码库,可能是它的原因)

2026-02-06 20:35

信息太少,提供一点排查方向:1、看到代码forEach里面有做数据库查询,这个任务多的时候,是否会导致jdbc连接池不够用,线程等待了。 2、开发时不能复现的问题,要对每步操作进行日志记录、异常记录等,看日志进行下一步排查

2026-02-06 13:57

@面具的惊奇 我不知道你项目是咋开启的热加载,Maven啊还是嵌入式之类的用法,根据你的用法,问下AI 咋屏蔽该工具类的热加载就可以了。 或者是把不需要热加载的工具类 自己打包一下为 jar 然后放在依赖 处(一般依赖jar 自动不热加载)

2026-02-05 21:41

@面具的惊奇 https://jfinal.com/doc/1-5 看下是否是因为开发模式下 “热加载的类” 那块的原因。addHotSwapClassPrefix("package 包名")

2025-12-29 11:07

@zeroabc 对了,如果需要ModelBase代码生成器的java.sql.Timestamp不被转为java.util.Date,要在生成器generator.generate(); 前面配置一下 generator.addTypeMapping("java.sql.Timestamp", "java.sql.Timestamp");
注意要移除generator.setTypeMapping(tm);那行demo代码,用默认的对象进行add覆盖即可

2025-12-29 08:57

@zeroabc 我们时间戳一把梭,数字long啊,避免其他国家的用户因为冬夏令时回拨问题导致时间不一致的问题,前后交互上全程使用时间戳就可以了,计算时间冲突也方便

2025-12-28 15:11

@zeroabc Date 就是没有时分秒,保留时分秒的话要用Timestamp,或者是LocalDateTime对象。 Date 和 DateTime是不同的,MySQL老驱动是会保留,MariaDB是严格遵守规则。如果是做老项目兼容处理的话,可自建一个MariaDBDialect,覆写 Save、Update系列方法 e.getValue() 前判断一下Date类型转换为Timestamp就可以了。
我个人是不建议折腾Date类型,直接时间戳一把梭,前后端统一规则更方便。也没啥时区夏令时、冬令时的处理,麻烦的一批

2025-12-18 20:07

如果是专为JFinal打造的话,建议再加一个类:
public class JetCacheDb implements ICache {...
实现接口,并转调一下JetCacheKit即可

使用:
ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
arp.setCache(new JetCacheDb());

效果:
List list = Db.findByCache(cacheName, key, sql);

这样才是“一行接入 arp.setCache(new JetCacheDb())”

2025-12-15 18:32

PS:如果项目服务器资源不能增加的情况,可以试试加一个 j2cache ,防止redis忙不过来