2019-05-27 12:39

使用新的表达式,然后 new Cron4jPlugin(新表达式).start() 即可

注意,如果希望取消这些 new 出来的 Cront4jPlugin 对象,得调用它的 stop() 方法

2019-05-27 12:34

使用 OkHttp 这类第三方 http 工具

http 工具可大可小,jfinal 内部提供的 HttpKit 仅用于 jfinal 自身的某个小功能的辅助,并不是一个功能全面的 http 工具

2019-05-27 12:04

@hamy @满子 4.0 还差一个小功能要上 4.1, 会一起发布新闻,最近在外地,耽误了发新闻

升到 4.0 是无缝的,先直接升上来

2019-05-27 12:03

异常是:java.io.EOFException: Unexpected EOF read on the socket

也就是说上传的数据格式不对,没有遵守 html 规范,注意查看客户端代码

2019-05-26 15:48

异常的 cause 部分没有提示,缺失关键信息

当前的信息中: Got minus one from a read call

read call 中得到了一个减号, 检查代码哪里多出来一个 “减号”

2019-05-26 15:46

这种操作能否用于普通的 eclipse ? 我记得 eclipse 也是可以配置代码模板的

2019-05-26 10:49

国内有不少 maven 镜像,本地也有 maven 库缓存,应该没多大影响

2019-05-26 10:48

@zb99908 Db.tx 是直接支持事务的,不而要 Enhancer.enhance()

Db.tx 是无需拦截器就支持了事务,注意看文档


还是要 单步调试进入 Db.tx 内部,看 connection.rollback() 这个回滚被执行没有

在 Db.tx 内部设置断点先

2019-05-26 10:39

@Sohnny 单页版其实也可以用 enjoy, 你观察一下 jfinal club 的文章回复功能,虽然是 ajax 请求后端,但仍然是 enjoy 渲染返回的 html 片段,而没有返回 json

ajax 请求直接返回 html 片段的主要好处有:
1:html 片段在后端用 enjoy 书写,可读性更好,因为模板的可读性要远高于 js 拼接代码

2:html 片段在后端用 enjoy 书写,可维性更高,因为修改模板要比修改 js 拼接代码方便得多

3:enjoy 生成 html 片段,要比 js 拿到 json 以后在前端生成 js 要方便

4:可以避开前后分离带来的各种成本,ajax + enjoy 可以做得极其强大,比前后分离成本低得多:
https://www.jfinal.com/share/895

前后分离,本质就是用 js 来操纵数据在 html 中的填充、更新,而 ajax + html 片段也可以是用 js 来操纵数据在 html 中的填充、更新,稍微写几个工具方法就可以实现

这两种模式的区别在于,前者 js 操纵的粒度更细,后者是拿到整个 html 片段以后整体替换,要简便很多

前者可以减少一定的网络流量,但是 html 片段配置 gzip 压缩后传输后的网络占用可以忽略不计

2019-05-26 10:28

代码量很少,读起来也清晰,已然不错了, 感谢你的分享, 肯定会有人用得上的

2019-05-26 10:27

jfinal 官方是没这么干的,你可能用是了 “非官方” 的 jfinal

还有一个可能是这个异常是 undertow 中抛出来的,执行流程还未到达 jfinal ,所以也就不在 jfinal 管控范围之内

2019-05-26 10:25

打包以后,路径当然就变了, 否则怎么跑得起来

无论是打包前还是打包后, web root 始终是 webapp 之下,打包后再也没有 src/main 这种目录了,不变怎么行

2019-05-25 11:20

@hb963724769 特别注意一个事: 数据读到内存,进行改变,然后再存入数据库,即便这个过程处在事务之中,也会出现幻读,除非你将事务级别调到最高级 Connection.TRANSACTION_SERIALIZABLE

但最高级的事务级别对性能影响较大,一般不建议这么用,而是避免读数据再操作,用 sql + para 的方式让数据库来操作数据

2019-05-25 10:55

@EATI001 你使用 jfinal undertow , 不用每次重启的,自动支持了