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-23 20:35

很赞,用起来应该很方便。有个地方没看懂,就是那个
static MultipartFormData md
按说Request对象是该次请求的对象,但是如果声明为static的话,那么并发之下,
if(null==md){ 这个if就很迷糊了。
所以是不是多写了一个static声明啊?

2022-03-14 08:51

代理模式
集群架构的本地盘实例默认采用代理(proxy)模式,支持通过一个统一的连接地址(域名)访问Redis集群,客户端的请求通过代理服务器转发到各数据分片,代理服务器、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理模式的服务架构图和组件说明如下。
https://help.aliyun.com/document_detail/99977.html

2022-03-11 16:53

@chcode 妙哇!解决各种特殊符号,我把代码贴上去

2022-03-09 10:39

我没试验,网友说是:
PropertyConfigurator.configure(各种参数)

2022-03-03 14:37

Header好,都没想到用这个,收藏收藏

2022-03-03 14:19

@happyboy 没啥爱好,工作累了休息一下就逛下几个社区放松一下

2022-03-03 10:30

@zzutligang 昂,是HTML啊,看茬了,那用 axios 发起请求就可以了,还是自己封装一下,里面随便切换请求工具:
https://www.runoob.com/vue3/vue3-ajax-axios.html

2022-03-02 19:50

我一般是封装ajax请求为一个httpKit工具,业务统一使用httpKit发起请求。
然后httpKit里面判断返回码,
如果code==0就是正常,回调给业务data,
如果code==301就js重定向data为url,
如果code==XXXX内部全局码,做相应的处理,比如1XXX为系统码,2XXX为某模块的码,
未知错误就判断是否有错误回调对象,否则弹窗提醒msg,
后端是renderJson(Kv.by("code", 0).set("data", xxx).set("msg", xxx));
推荐使用Ret

2022-03-02 10:08

@JFinal 昂,明白了,还以为只是为了性能优化了,修改一下帖子