java.lang.OutOfMemoryError:通过ZuulFilter上传大文件时的Java堆空间

时间:2016-01-25 08:58:09

标签: java netflix-zuul

我正在使用" zuul-core-1.0.28"用于在我的网关类中进行路由的模块。 在上传几个大小为50 MB的文件时," java.lang.OutOfMemoryError:Java堆空间"在将请求转发到适当的api时,会从Routing类之一抛出异常。在转发时,ZuulFilter尝试解析请求体(在这种情况下是文件块)以及它失败并抛出异常的地方

    #region convert HTML To PDF
    static public void HTMLToPdf(string Contents, string FilePath, string strValue)
    {

        Document document = new Document(PageSize.A4, 10f, 10f, 10f, 0f);

        //PDF for compliance overdue report.
        if (strValue == "due")
        {

            PdfWriter.GetInstance(document, new FileStream(FilePath,FileMode.Create));
        }
        //PDF for other compliance reports.
        else
        {

            PdfWriter.GetInstance(document, new FileStream(FilePath, FileMode.Create));
        }
        document.Open();
        iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);

        hw.Parse(new StringReader(Contents));

        document.Close();
    }
    #endregion

我知道,特别是这个问题已在这里发布了多次 将JVM堆大小增加到1GB但仍然面临问题。更重要的是,我相信在生产中它将首先失败,因为将会有数千个请求频繁出现,并且增加内存不会有太多帮助。

任何帮助都将不胜感激。

0 个答案:

没有答案