2019-10-29 15:04

以 DbKit.getConfig(configName) 为准

2019-10-29 15:04

@farce stop() 以后, DbKit.getConfig(configName) 是获取不到被释放的那个 config 对象的

你通过 arp.getConfig().getName() 获取到的只是从 DbKit 中移除的,但并不在系统内产生作用的对象

2019-10-29 13:22

@farce arp.stop()以后应该会被回收的,建议在 start() 、stop() 方法中设置断点,单步调试看看到底是什么原因出现的 Config already exists

2019-10-29 11:48

单步调试跟踪进入 Table.java 内部,看一下里头生成的字段名是啥

_MappingKit.mapping(arp) 这行代码有没有?

2019-10-29 10:32

@抉择 发送消息如果失败,服务端貌似会回复一个状态码,根据状态码来处理一下

你碰到的是细节问题,需要通过单步调试来解决,肉眼去看是很难发现问题的,调试环境的搭建参考文档:
https://gitee.com/jfinal/jfinal-weixin/wikis/JFinal%20weixin%20demo%E5%92%8C%E8%B0%83%E8%AF%95?sort_id=10002

2019-10-29 10:27

@farce ActiveRecordPlugin 自己占用的资源会被回收,其被传入的 DataSource 资源需要手动 stop()

2019-10-28 19:48

void processInTextMsg(InTextMsg inTextMsg) 这个方法是否被访问到了,这个是关键,要确保请求是存在的

2019-10-28 19:01

@farce 需要调用 ActiveRecordPlugin 的 stop() 方法才能回收

2019-10-28 17:11

@搞你心态 按照文档中的规则来放置 input 表单域的 name 才可以:
https://www.jfinal.com/doc/3-5

注意 getModel 要求属性对应字段,getBean 要求属性对应 model 的 setter 方法

看到你的代码,你应该是没有使用生成器来生成 model 的 setter 、getter 方法:
https://www.jfinal.com/doc/5-4

2019-10-28 17:03

在 new ActiveRecordPlugin 时指令一个 configName,这个变量值只能唯一

如果希望使用相同的 configName,那么需要先 arp.stop() 关闭前一个 configName 对应的 arp 对象

configName 本质上是为了支持多数据源的

2019-10-28 16:42

@小李子a 我收藏了这个贴子,下次再有人问 spring boot 下使用 jfinal active record 的问题,可以很爽地发给他这个分享

2019-10-28 16:40

最好的 spring boot 中使用 jfinal active record 的例子,没有之一

如果说还有打磨之处的话,可以删掉下面一行代码:
arp.getEngine().setSourceFactory(new ClassPathSourceFactory());
因为高版本 jfinal 的 active record 默认就是这个配置了

谢谢分享,点赞 + 收藏

2019-10-28 16:26

控制台没有提示是因为日志没有配置好,下载首页的 jfinal_demo_for_maven.zip,直接拿到里头的 log4j.properties 来使用即可

2019-10-28 15:17

jfinal-layui 是与 layui 结合最好的项目,也是 jfinal 精品项目,十分看好后续发展,赞

2019-10-28 15:07

直接使用 #include 指令,或者 #define 定义以后调用

总之 enjoy 中所有功能都可以使用,例如:
#define common()
这里是一段公共部分
#end

#sql(...)
### 这里调用公共部分
#@common()
#end