task-8: WorkbookFactory 输入解析改为受控读取,验证超大 Excel 失败提示
解析前用 ZipFile 中央目录探测 xlsx(zip) 条目数与解压总字节(不读压缩 内容),超过 maxWorkbookZipEntries(20000)/maxWorkbookUncompressedBytes (512MB) 立即拒绝并给出可识别提示;非 zip/损坏文件跳过探测交给 WorkbookFactory 兜底转业务异常。0/负值配置回退默认。新增 8 个测试覆盖 正常路径、多文件、幂等、空输入、单行、解压超限、条目超限、损坏文件、 依赖失败恢复。
This commit is contained in:
@@ -154,6 +154,17 @@ public class SimilarAsinProperties {
|
||||
*/
|
||||
private int maxFieldLength = 2000;
|
||||
|
||||
/**
|
||||
* Task 8:xlsx(zip) 最大条目数。受控读取在 WorkBookFactory 打开前探测,
|
||||
* 超过则拒绝,防止 zip bomb / 超大工作簿拖垮内存。
|
||||
*/
|
||||
private int maxWorkbookZipEntries = 20000;
|
||||
|
||||
/**
|
||||
* Task 8:xlsx(zip) 解压后总字节数上限。同样在打开前探测,超过则拒绝。
|
||||
*/
|
||||
private long maxWorkbookUncompressedBytes = 512L * 1024L * 1024L;
|
||||
|
||||
/**
|
||||
* P0-4:抢 Coze 提交锁失败后下次重试间隔(毫秒)。
|
||||
* 原硬编码 500ms,会在指数退避算法中作为基础值(500/1000/2000/4000ms 上限 4000)。
|
||||
|
||||
Reference in New Issue
Block a user