TongWeb7控制台部署应用时,应用包大小限制

测试版本:TongWeb 7.0.4.9_M11

官方手册说明:在 TongWeb 上部署应用时,建议根据应用包的大小来选择部署方式。1GB 以下的优先使用管理控制台部署;1GB 以上的推荐使用自动部署(注:建议使用目录部署源)。

现象:1. 上传超过 1G 的 war 包,速度很慢

  1. 提示文件上传成功,点击开始部署,提示错误,/temp/upload 目录下没有文件

判断:TongWeb 7 不支持 1G 以上的文件上传

原因:控制台上传部署包时,Upload Servlet 硬编码调用 ServletFileUpload.setSizeMax(1073741824L),

超过 1GB 直接返回 "upload file size cannot exceed 1G"。

applications/console/WEB-INF/classes/com/tongweb/console/deployer/controller/Upload.class

java 复制代码
ServletFileUpload sfu = new ServletFileUpload(dfif);
sfu.setSizeMax(1073741824L);
java 复制代码
FileUploadException e;
try {
    fileList = sfu.parseRequest(new ServletRequestContext(request));
} catch (FileUploadException var25) {
    e = var25;
    if (e instanceof FileUploadBase.SizeLimitExceededException) {
        if (null != jsonp && !"".equals(jsonp)) {
           out.println("<script type='text/javascript' id='" + jsonp + "'>parent." + jsonp + "({statusText:'upload file size cannot exceed 1G'});setTimeout(function(){delete parent." + jsonp + ";var s=document.getElementById('" + jsonp + "');s.parentNode.removeChild(s);},50);</script>");
         } else {
             out.println("upload file size cannot exceed 1G");
         }

         return;
      }

      e.printStackTrace();
}

其他相关:http通道参数设置

POST********请求最大字节数:POST请求允许的最大字节数,默认2MB。

maxPostSize 只在容器需要从 POST 请求体里解析表单参数(request.getParameter() 等,且 Content-Type 为 x-www-form-urlencoded)时才检查。普通文件上传/流式读取请求体根本不经过这段代码。

相关推荐
__zRainy__10 小时前
Node系列 · Express:cors 中间件
中间件·express
StevenSurpass10 小时前
智能工厂场景:FastPrintAgent 分布式打印中间件落地应用方案
分布式·mqtt·http·中间件·打印·fastreport
程序员小八7772 天前
Go Web 工程化:日志、配置与错误处理中间件,让服务「能上线」
前端·中间件·golang
tqs_123452 天前
SaaS 多租户 Agent 平台实战:自研 Agent 中间件 SDK,Nacos 配置驱动实现开箱即用
中间件
未若君雅裁2 天前
自定义中间件:Node-style 与 Wrap-style 钩子全解析
python·中间件·langchain
__zRainy__4 天前
Node系列 · Express:常用的中间件
中间件·node.js·express
2601_962181964 天前
【ROS2 中间件RMW】基于FastDDS共享内存实现ROS2跨进程零拷贝通讯
中间件
未若君雅裁4 天前
上下文压缩双刃剑-Summarization与ContextEditing中间件实战
python·中间件·langchain
烂蜻蜓4 天前
Flask入门教程(十六):中间件与扩展——增强应用功能的两种机制
python·中间件·flask