2020-09-21 17:11
@zzutligang 如果线程能确保在有限的时间内执行完任务,jvm 退出时顶多是多等待一段时间退出 jvm, 但有些同学碰到这种情况以为是 jvm (tomcat、undertow、jetty) 无法关闭
最后,线程的管理可以使用 java 面成的 API,极度方便,例如我在项目中的发送模板消息的线程调度:
static ExecutorService executor = Executors.newFixedThreadPool(nThreads);
public sendTemplateMsg() {
executor.execute(() -> {TemplateKit.send(...)});
}
注意,上面的 executor.execute 方法中可以传入 Runnable、Thread ,也可以直接使用 lambda 传入一段代码,如 TemplateKit.send(...);
2020-09-21 11:54
@rirai 人家弄这个 cookie 攻击,对你的应用产生了什么实质性影响? 应用当掉了?
2020-09-21 11:13
@jiren jfinal 俱乐部群里有 app&coffee.doc 里头有详细说明,这个计划本该早就上线,只不过去年 9 月我小孩出生,计划全打乱了
2020-09-20 17:49
刚刚我在本地测试了一下,去掉 UndertowServer.java 中的第 301 行的代码即可实现这个功能:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/UndertowServer.java
也即删除下面这行代码:
.addHttpListener(config.getPort(), config.getHost())
如果这个改进没有副作用的话,下一版本将引入这个功能,将 undertow.http.disable=false 这个配置的行为改成直接关闭 http(80 端口),而不仅仅是屏蔽 url 请求
2020-09-20 17:05
@__ 问题应该是找到了,并不是 Cron4jPulgin 不执行,而是你的项目出现了 OutOfMemoryError 异常,JVM 已经不能正常工作了,定时任务不执行就再正常不过了