需求:
Java定时读取解析邮件,并把附件下载到A局域网服务器,再把附件从A局域网迁移到B局域网,然后在B局域网进行附件安全检测,最后从B局域网拿到检测结果,然后判断A局域网里面的附件是否上传到OSS或minio
(注:AB局域网数据库会通过网闸同步,minio只存在A区域网服务器,OSS只存在B局域网服务器)
存在的问题:(测试使用QQ邮箱,生产是政务邮箱)
1、按照以下代码获取流之后下载文件很慢,尝试了NIO和多线程之后还是很慢,原因未知
Multipart multipart = (Multipart) message.getContent();
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
//获取流
InputStream inputStream = bodyPart.getInputStream()
....业务逻辑
}
2、A、B局域网网络是不通的,如何进行文件传输,文件常见的30-50MB,偶尔有100MB以上的,目前解决思路是服务在B局域网上跑,之后数据库会自动同步,但是存在A局域网无法访问附件的问题
大哥们有啥好的解决方案嘛{:1_932:} |