1、java 8 新特性,forEach方法来遍历集合,在lambda表达式中的return并不会终止循环,这是由于lambda的底层实现导致的。
private static void continueForeachJava8(int max, List<String> list) {
list.forEach(s -> {
if (s.length() >= max) {
return;
}
System.out.println(s);
});
}
解决方法:使用加强for循环。
private static void continueFor(int max, List<String> list) {
for (String s : list) {
if (s.length() >= max) {
continue;
}
System.out.println(s);
}
}
2、项目中使用公司另一个统一封装内部使用文件上传服务,当上传较大文件时出现以下错误,小文件没有报错。
Connection has been closed BEFORE response, while sending request body
百度之后说是nginx网关没有开启长连接,然后看了nginx日志,出现错误,然后修改nginx配置文件。
nginx 解决 readv() failed (104: Connection reset by peer)«海底苍鹰(tank)博客
然后还是无法生效,最后发现是那个服务的nacos配置文件中有配置限制大小,大小为10MB,修改后能够能够成功上传大文件。
[网关异常处理]请求路径:/file/upload,异常信息:Connection has been closed BEFORE response, while sending request body · Issue #I4J313 · 若依/RuoYi-Cloud - Gitee.com
3、springboot + mybatisplus 多数据源配置。
网上教程比较多,找了个最简单的,我亲自试过,有效的。
SpringBoot整合MybatisPlus多数据源 - 简书