2019-10-25 19:01

@tuxming 内存占用突发性增大挺危险,因为 JVM 的垃圾回收本身就有延迟问题

想办法控制内存占用的速度小于回收的速度

2019-10-25 18:59

方案简单,代码简洁,谢谢你的分享

2019-10-25 17:09

@hb963724769 按照提示来,如果某个类的对象需要放缓存,让其实现一下 Serializable 接口即可,这个是 java 基础,与 jfinal 是无关的

2019-10-25 16:02

光定制 RenderFactory 无法实现,在当前的基础上,再定制一个 ErrorRender,通过继承 ErrorRender,在其 render() 方法内部通过:
request.getRequestURI();

即可获取到当前请求的 url,然后通过一个 if 判断,决定是返回 json 还是返回页面即可

记得搞定后回来分享

2019-10-25 15:31

注意,这里的 onStart() 就是老版本 jfinal 中的 afterJFinalStart(),老版本的用法现在也支持,建议用 onStart() ,更省代码,也不易打错字母

2019-10-25 15:31

在 onStart() 里面启动一个线程来监听即可:
public void onStart() {
Thread thread = new Thread(() -> {
监听代码在此
});

thread.setDaemon(true);
thread.start();

2019-10-25 15:29

修改一下贴子,将 sql 也补充进去, java 代码也补充完整

当前信息量不知道问题是什么

2019-10-25 15:27

补充:jfinal 项目是标准的 java web 项目,所以你可以自己手动创建项目,不一定要改名:
https://www.jfinal.com/doc/1-11

2019-10-25 15:26

web.xml 中的 web-app 标签后面有一堆东西,例如 xmlns 属性,删除这所有属性试试

此外,项目改名的问题涉及到除了项目中以外的地方,例如如下两个文件:
1:.project
2:.settings/org.eclipse.wst.common.component

这些文件不是猜出来的,而是将项目导入到 eclipse 中,然后在整个项目中搜索关键字 "jfinal_demo" 得到的

2019-10-25 11:42

这种灵活使用的需求,只需要自己 new Cron4jPlugin(),自己 start(),自己 stop() 即可

不要在 configHandler 中 add,完全自己掌控 Cron4jPlugin 的创建、启动、关闭

2019-10-25 11:32

@yao136 我的意思是通过上面的办法,逼出你说出更多的信息量,否则无法回答

activerecord 可以用生成器生成 getter setter,可以生成 model , 在生成出来的东东上面直接用上注解即可

生成器可以在首页右侧下载 jfinal_demo_for_maven.zip ,里面有具体的代码

2019-10-25 10:00

activerecord 是操作数据库的,获取数据库数据以后,直接用于 easyexcel 就好,不必想象他们之间有啥关联,独立用好就行

2019-10-25 09:59

@yunqi 通过 try catch 可以获取到内层拦截器、controller、service 中是否向上层抛了了异常:
try {
inv.invoke();
} catch (Exception e) {
这里处理
}

2019-10-24 20:00

在拦截器里面用下面的代码:
inv.invoke();
Render render = inv.getController().getRender();
if (render instanceof JsonRender) {
JsonRedner jr = (JsonRender)render;
String jsonText = jr.getJsonText();
.....
}

上面这种用法一般是不需要的,我不知道你的具体需求,应该是别的办法来解决你的需求