2020-06-09 12:17

@myth4ian tomcat 在输出信息中的措辞是:probable memory leak.

也就是说,它也只是说可能的内存泄漏,其实是没有的,这个地方我做过很严格的测试,放心使用

2020-06-09 11:21

@myth4ian 没有内存溢出, 注意看 tomcat 输出信息的措辞

2020-06-08 18:15

@wrw 负载均衡看用在什么层面了,一般 redis 层面不需要负载均衡

2020-06-08 18:01

@qianlong 其实有很多办法,稍微了解一下 jfinal 源码就能找到很多办法

参考 jfinal club 中的 Share.java 这个类,里头用到了 filter 方法,也是可以的

2020-06-08 17:32

@cqztt me.setDenyAccessJsp(false); 相当于支持你在浏览器地址栏里面直接访问 .jsp 文件,例如:
http://localhost/my.jsp

如果不配置,则是无法像上面这样访问的。当然, render 仍然支持 .jsp 文件。这个配置只是为了提升安全性,为了防止破坏者在上传恶意 jsp 文件以后直接访问来攻击你的系统。

当然,jfinal 是不支持上传 jsp 文件的,这又增加了一层保护, 但你不能保证攻击者通过其它方式上传 .jsp 文件


回到你的问题:
你既然是无法使用 setDenyAccessJsp(false), 证明你是老版本,也就不存在这个问题。

那么你碰到的是另一个问题,你给出的异常信息不够,无法判断

2020-06-08 17:17

@happyboy 你改回 4.3 ,再生成一下试试

2020-06-08 17:10

如果只有少数的 Model 需要这个功能,也可以在最终的 Model 中手动添加上面的 save()、update() 方法

此外,如果要扩展 Db.save、Db.update 方法,可以扩展 DbPro, 然后配置:
arp.setDbProFactory(...)

这样就可以接管原有的 Db.save、Db.update 方法

2020-06-08 17:09

除了上面的代码,还可以用下面的办法:
1:public class MyModel extends Model 添加与上面回复中一样的代码

2:修改 base_model_template.jf,将其中的 extends Model 改为 extends MyModel
也就是说,将 base model 原本继承 Model ,改为继承自己扩展的 MyModel

3:最后配置: gen.setBaseModelTemplate("base_model_template.jf");

2020-06-08 17:07

按下面的步骤:
1:将 jfinal 中的 base_model_template.jf 文件复制出来,放在 src/main/resource 目录下面,该文件可以在 jfinal 源码中获取到:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/activerecord/generator/base_model_template.jf

2:修改 base_model_template.jf,在最后一个 #end 之前添加如下代码:
public boolean save() {
set("add_time", new Date());
return super.save();
}

public boolean update() {
set("update_time", new Date());
return super.update();
}

3:配置生成器:
Generator gen = new ....;
gen.setBaseModelTemplate("base_model_template.jf");
gen.generate();

2020-06-08 16:16

@琴海森林 其实就是为了省代码,这个 TableMeta 当时认为只是 jfinal 内部使用

2020-06-08 16:01

@琴海森林 可以通过 JFinalJson.addToJson(...) 自己扩展

由于这个需求并不是太多,官方默认也就不提供这个功能了,而且对性能也有所损耗

2020-06-08 15:47

@happyboy 这个应变也不是 4.9 的原因,你试着用回 4.8 , 看看生成的结果如何

因为 4.9 压根没动过这个地方

2020-06-08 14:52

还没在 reids 中玩过分布式,因为 redis 一般是作为一个中心节点来实现分布式架构下的数据共享的

redis 自身再分布式的话,事情就更复杂了,而且这得要是多大数据量用上了 redis 分布式

建议看一下 redis 文档,里头肯定是有这方面的配置的,应该不难

2020-06-08 14:50

在 configConstant(Constants me) 中添加如下配置:
me.setDenyAccessJsp(false);