2020-04-07 18:17

在项目的 pom.xml 中自行升级 jedis 的依赖应该可以的,你试一试

2020-04-07 17:30

configConstant 是被很早调用的

2020-04-07 17:30

@zzutligang 这正是要排查的地方, 找到一个最早被调用的地方使用 use 方法,例如在 MyConfig 的 configConstant(Constants me) 中做这事:
public class MyConfig extends JFinalConfig {
public void configConstant(Constants me) {
PropKit.use(...);
...
}

...
}

2020-04-07 16:38

@zzutligang 应该只是一个先后问题,只要 use 一次, 后面一直 get 就可以了

2020-04-07 16:37

@tctc4869 只需关注从数据库取数据, 更新、写入数据不需要扩展

2020-04-07 11:31

@lusy 还真有一个: https://www.oschina.net/p/pkuas+2010

但你未必敢用

2020-04-07 11:25

解决办法是要确保 PropKit.use(...) 被先调用过一次,这里要检查 ab 测试时并发调用的情况是不是导致了 PropKit.get(...) 先于 PropKit.use(...) 调用的情况

2020-04-07 11:24

大概率原因是:某个线程的 PropKit.get(...) 动作在 PropKit.use(...) 之前被调用了

这里的关键是:PropKit.get(...) 一定要在 PropKit.use(...) 被调用过至少一次以后才能使用

2020-04-06 22:10

@tctc4869 扩展这两个组件的实例代码也是现成的:
https://gitee.com/jfinal/jfinal/tree/master/src/main/java/com/jfinal/plugin/activerecord/builder

有两个 ModelBuilder、RecordBuilder 扩展,参考着写即可,假定你扩展出来的叫 MyModelBuilder.java、MyRecordBuilder.java 配置方法如下:
ActiveRecordPlugin arp = new ActiveRecordPlugin(...);
Dialect dialect = new MySqlDialect();

// 下面两行是关键
dialect.setModelBuilder(new MyModelBuilder());
dialect.setRecordBuilder(new MyRecordBuilder());

arp.setDialect(dialect);
me.add(arp);

2020-04-06 16:57

扩展 ModelBuilder、RecordBuilder 就可以了,扩展完以后,通过 Dialect.setModelBuilder/setRecordBulder 方法就可以切换过去了

2020-04-06 12:37

使用百分号 s,例如 log.info("收到来自 %s 的 ws 握手包 %s", "aaa", "bbb");

当然,你也可以使用 slf4j 的用法,但得配置一下:
me.setToSlf4jLogFactory();

2020-04-06 12:35

@杜福忠 字符 ` 在 js 中支持字符串换行?

2020-04-05 21:20

@nmsl 与端口有关的可能性不大,可能是你动了项目什么地方,可能是 Default Output Folder 配置不对:
https://jfinal.com/doc/1-8

2020-04-05 19:42

很可能是 web.xml 没被加载,设置断点看你的 config 类被调用没

2020-04-05 16:41

这种设计是现代模板引擎必须要避免掉的,所以 JSP 后来添加了 JSTL

在 html 中允许写 java 代码是十分糟糕的事情,所以在 JSP 后续的知名模板引擎如 freemarker、velocity 根本不支持这种功能

你可以通过 jfinal enjoy 的 engine.addSharedObject(...)、 addSharedMethod(...) 功能将实现在 java 中的代码功能添加进来,在 html 中调用即可