2018-07-02 15:24

一定可以的, jfinal 仅仅是将你的 sql + para 直接扔给了 JDBC,只要 JDBC 支持,jfinal 就一定会支持

估计是什么别的原因引起的,仔细分析一下异常信息来解决。 还有一种情况是 oracle 的驱动有问题,历史上出现过不少次数,升级下驱动即可

2018-07-02 11:37

实现极其简洁,对于开发者来说是透明的,在业务层完全不需要关注读写分离的事情,感谢分享,点赞 + 收藏

2018-07-02 11:32

主键名默认为小写的 "id",否则需要在映射的时候手动指定一下:
activeRecordPlugin.addMapping(tableName, "ID", modelClass);

如上所示,中间的参数 "ID" 就是大写的 id,具体到你的项目,是一个大写一个小写,改成这样:
activeRecordPlugin.addMapping(tableName, "Id", modelClass);

这种事情早在两年前就不需要手动做了,jfinal 提供了生成器,映射也是自动生成的,会自动解决大小写问题,在首页下载 jfinal demo,里面有生成器的使用例子,直接拿去改下几个参数即可使用

2018-07-02 11:29

@阿帕奇 将 JFinalView 中的下面两行代码:
OutputStream os = response.getOutputStream();
JFinalViewResolver.engine.getTemplate(getUrl()).render(model, os);

外面套上 try catch ,改成:
try {
OutputStream os = response.getOutputStream();
JFinalViewResolver.engine.getTemplate(getUrl()).render(model, os);
} catch (Exception e) { // 捕获 ByteWriter.close() 抛出的 RuntimeException
Throwable cause = e.getCause();
if (cause instanceof IOException) { // ClientAbortException、EofException 直接或间接继承自 IOException
String name = cause.getClass().getSimpleName();
if ("ClientAbortException".equals(name) || "EofException".equals(name)) {
return ;
}
}

throw e;
}


然后使用自己的 JFinalView 代替 jfinal 的 JFinalView 即可

2018-07-01 09:53

不需要特殊配置,按文档来即可

2018-06-29 18:14

JettyServer 这段代码历史太久远了,应该是六年前的代码,下次 jfinal 3.5 是该改进这里了

changeClassLoader 确实可以重用在 onchage 中,这个或许是当时这个方法是后来新增的,没注意到可以重用

jfinal 3.5 会尝试种不用 restart webapp 的方法来支持热加载,让开发体验更平滑

2018-06-29 18:09

@qin 是什么原因引起的,怎么解决的? 你这个问题很奇怪,值得分享出来啊?

2018-06-29 18:08

必然是支持中文的,这个是基本需求

2018-06-29 18:08

@阿帕奇 JFinalView 里头有关 ClientAbortException 这个改动过没有? 难道不改这个就解决了?

2018-06-29 18:02

@jHans 用 RedisPlugin 替换了 ActiveRecordPlugin ?

2018-06-28 21:51

具体做的时候,可以写个工具类,方便创建线程,利用 Java 8 的 lambda 来减少代码量

2018-06-28 21:50

catch 块中的内部事务放在一个新建的 Thread 中完成即可

因为 connection 是与线程绑定的,新建一个线程就摆脱了外层的事务

2018-06-28 17:16

jfinal club 有视频可以下载,注意看群通知里的信息

2018-06-28 17:16

@foam103 要考虑多种因素,例如你的项目中有很多的 html、js、css 文件,而且你希望经常修改这类文件让其立即生效,那么传统部署方式更好,因为避免了打包 jar 的过程,直接上传覆盖掉这类文件即可

如果是比较偏向业务的或者是服务型的应用项目部署,打成 jar 包比较好

个人经验 tomcat 的稳定性比 jetty 要高,当然这个是针对 jetty 8 的经验,或许现在的 Jetty 9 的稳定性已经上来了

jetty 8 这个版本有时候会无故挂掉,而 tomcat 从 6 时代开始就很稳

2018-06-28 16:55

不是不生成,而是要配置输出文件时使用绝对路径,例如:
/var/myproject/xxx.log

再例如:
D:/project/xxx.log

前者是 linux 下面的配置,后者是 windows 下配置