2022-03-30 11:13
@jiangyunwei 是的,不如写成结果值,我就不喜欢写多少乘以多少整个运算,不如写结果值,再加一行汉字注释比啥都强,或者放在配置文件里面
2022-03-30 10:47
@jiangyunwei
提示:超出限制大小
Posted content length of 1653327211 exceeds limit of 1073741824
按说就是这样了,if 1653327211 > 5368709120 throw
那不应该成立才对,所以你那打断点看最方便,追进去看看是什么情况,或者是不是类没更新啥的情况
2022-03-29 15:34
@jiangyunwei 使用JF 4.9.21版本,cos组件升级到2022.2,就支持上传2GB以上的文件了,玛雅牛大大Pull的。
@JFinal 波总文档version没有更新 https://jfinal.com/doc/3-11
2022-03-28 17:49
@jiangyunwei 理论上是可以控制jar的加载顺序,但需要特殊处理java启动参数。默认不好控制谁先加载谁后加载了。
Tomcat是/WEB-INF/classes先于/WEB-INF/lib加载,没事。
jfinal-undertow开发时也没事,也是先扫File。
但是上线时都是jar了,没特殊处理,肯定会翻车,很明显你上面报的异常就是jf的Cache类先加载了,所以才找不到 带 setexStr的方法啊。
除非上线的时候把jf里面的Cache类删除掉,这样才是保险的。但是后续的项目升级又很麻烦,jf升级了,你替换的类如果多了,处理起来是很麻烦的事情。
所以还是用extends继承吧,按推荐的来
2022-03-27 15:48
”重写“不是这样重写的,你这个操作叫替换,
并且undertow发布时,项目代码全部打包为jar了,
这样jfinal-undertow生产模式的ClassLoader加载器加载时就没有先后顺序了,
对业务jar一视同仁,你项目代码的jar 和 jf的jar 该类会冲突。
其次 jfinal 的Cache 也没有 setexStr 吧?以前有?
正常应该是:
public class MyCache extends com.jfinal.plugin.redis.Cache {
@Override
public String setex(Object key, int seconds, Object value) {
return xxx;
}
xxxx
}
直接启动设置:
Cache cache = new MyCache(cacheName, jedisPool, serializer, keyNamingPolicy);
Redis.addCache(cache);
或者用RedisPlugin启动设置:
new RedisPlugin(xxx){
@Override
public boolean start() {
复制RedisPlugin里面的start代码过来
Cache cache = new MyCache(this.cacheName, jedisPool, this.serializer, this.keyNamingPolicy);
Redis.addCache(cache);
return true;
}
};
业务中使用:
MyCache cache = (MyCache)Redis.use();
cache.xxx 可以调用自己定义的方法,JF的Cache没有定义得方法都可以调用了
2022-03-03 10:30
@zzutligang 昂,是HTML啊,看茬了,那用 axios 发起请求就可以了,还是自己封装一下,里面随便切换请求工具:
https://www.runoob.com/vue3/vue3-ajax-axios.html