2018-11-21 21:29

非常简洁可读, 教学级! 我之前还自己用URLClassLoader手撸了一版ActionHandler配置动态Routes以及IPlugin... 看来使用Beanshell貌似更方便

2018-11-20 09:25

这个和Java没什么关系吧... 如果不出意外,,,看你的路径明显 多了一个 // 斜杠了

2018-11-19 18:56

兄滴~姿势不对啊, 你路由进行了拆分配置, 那setBaseViewPath自然也得是拆分配置的, 手册得仔细看, 都是作者一个一个精心码出来的 http://www.jfinal.com/doc/2-3

  1. public class FrontRoutes extends Routes {
  2.     public void config() {
  3.        setBaseViewPath("/view/front");
  4.        add("/", IndexController.class);
  5.        add("/blog", BlogController.class);
  6.     }
  7. }

2018-11-19 16:53

什么原因... 看源码呗.. 路由很极简, 几行代码:

/**
* Support four types of url
* 1: http://abc.com/controllerKey ---> 00
* 2: http://abc.com/controllerKey/para ---> 01
* 3: http://abc.com/controllerKey/method ---> 10
* 4: http://abc.com/controllerKey/method/para ---> 11
* The controllerKey can also contains "/"
* Example: http://abc.com/uvw/xyz/method/para
*/
public Action getAction(String url, String[] urlPara) {
Action action = mapping.get(url);
if (action != null) {
return action;
}

// --------
int i = url.lastIndexOf('/');
if (i != -1) {
action = mapping.get(url.substring(0, i));
urlPara[0] = url.substring(i + 1);
}

return action;
}

2018-11-19 15:05

切记: #para 指令所到之处永远是生成一个问号占位符,并不是参数的值,参数值被生成在了SqlPara对象的paraList属性之中,通过sqlPara.getPara()可获取。如果想生成参数值用一下模板输出指令即可:#(value)
多看手册再动手: http://www.jfinal.com/doc/5-13

2018-11-19 11:45

上次咨询我时, 我知道的, 补充一下信息, 有不对的, 你变更一下:
1个主数据源, 2个辅数据源. druid线程池均开3个线程.

两个业务线程操作 2个辅库数据 写入 主库 (单表数据合并).

线程操作: 分次写入, 一批次500条, 并且 对每批次写入 均开启 事务 提交 . 测试数据均能正常写入数据库.

线程结束后, 会报如上异常,

2018-11-17 13:09

你不要自定义属性,自定义的getxxx setxxx方法 里面this赋值的,改为调用get(),和 put (,),具体原因你看下jfinaljson里源码就知道了

2018-11-16 11:03

@光光哥 DruidStatViewHandler 是为了解决 < url-pattern >/*< /url-pattern >jfinal先拿到, 然后根据地址进行放行交给 给后面filter 处理的.(可以不加权限)
代码就这么点, 你查看一下源码就明白了.
我推荐你进俱乐部是我在里面学到很多东西, 大家都在交流技术, 大咖都在里面...

2018-11-15 11:59

想起来了.. 对喜欢用扫描Controller路径的玩家还是有点作用的...

2018-11-13 22:27

自己下载就可以了: https://gitee.com/jfinal/jfinal/tree/jfinal-2.0/
建议升级到最新版本, 变动的东西不多, 10分钟就可以批量修改完毕.
建议: 继承一下 PostgreSqlDialect 这个类, 然后 http://www.jfinal.com/doc/5-9
ActiveRecordPlugin arp = new ActiveRecordPlugin(…);
me.add(arp);
// 配置Postgresql方言
arp.setDialect(new MyPostgreSqlDialect ());
就可以了

2018-11-13 22:17

windows本地可以正常访问数据库, 说明代码没问题.
数据库在linux端, 也就是说不是防火墙的问题, 那一般就是用户名和密码不对了.
远程测试你的账户密码 正确性, 你可以使用如Navicat的SSH进行连接你linux端的数据库, 详细教程可网络搜索.
这样一步一步排除, 就可以找到你的问题

2018-11-13 22:02

加入俱乐部 看使用事例: http://www.jfinal.com/club

2018-11-13 22:00

配置一下就可以了:

@Override
public void configHandler(Handlers me) {
me.add(new DruidStatViewHandler("Druid WebStatFilter的请求地址", new IDruidStatViewAuth() {
public boolean isPermitted(HttpServletRequest request) {
return //权限校验通过 true;
}
}));