PDF wird zum ersten Mal heruntergeladen, wenn es das nächste Mal java.lang.OutOfMemoryError auslöst: Java-Heap-Speicher . Die aktuelle Max-Heap-Größe ist 536 MBjava.lang.OutOfMemoryError: Java-Heap-Speicher - beim Schreiben von PDF in outputstream
httpResp.setHeader("Expires", "0");
httpResp.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");
httpResp.setHeader("Pragma", "public");
httpResp.setHeader("Content-Disposition", "inline; filename="+"BulkIdCard"+".pdf");
httpResp.setContentType("application/pdf");
httpResp.getOutputStream().write(byte[]);//pdf in byte array
httpResp.getOutputStream().flush();
httpResp.getOutputStream().close();
Wie groß sind diese PDF-Dokumente und gibt es einen Griff zum ersten Dokument, das irgendwo herumsteht? –
Ihr Heap kann möglicherweise das erste Byte [] verarbeiten, das beim ersten Download erstellt wurde, und wenn Sie es erneut herunterladen, erstellt es erneut ein Byte [], das außerhalb Ihrer zugewiesenen Java-Heap-Kapazität liegt. Erstellen Sie jedes Mal ein neues Byte [], wenn Sie eine Download-Anfrage erhalten? – vvtx
@TimBiegeleisen Die PDF-Größe hängt davon ab, ob es eine Seite oder 50 Seiten sein kann. Für einen getesteten Fluss beträgt die PDF-Größe 7 MB und die Anzahl der Seiten ist 14. –