branch develop updated (2da46173 -> 48a02100)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git from 2da46173 Really fix hibernate mess new 8874119c - refs #10100 : Message d'erreur plus clair (ajout du nom de fichier) new 48a02100 refs #10098 : generate PDF pages one file opening per page and flush every page generation The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 48a02100e8203314a8329c01774d20d0c9d35106 Author: jcouteau <couteau@codelutin.com> Date: Fri Sep 28 11:14:22 2018 +0200 refs #10098 : generate PDF pages one file opening per page and flush every page generation commit 8874119cf4e7b921135339e0abc81436d9ea7ebb Author: jcouteau <couteau@codelutin.com> Date: Fri Sep 28 11:04:30 2018 +0200 - refs #10100 : Message d'erreur plus clair (ajout du nom de fichier) Summary of changes: .../faxtomail/services/service/EmailServiceImpl.java | 5 ++++- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 17 ++++++++++------- .../franciaflex/faxtomail/web/job/MailFilterJob.java | 13 ++++++++----- 3 files changed, 22 insertions(+), 13 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 8874119cf4e7b921135339e0abc81436d9ea7ebb Author: jcouteau <couteau@codelutin.com> Date: Fri Sep 28 11:04:30 2018 +0200 - refs #10100 : Message d'erreur plus clair (ajout du nom de fichier) --- .../faxtomail/ui/swing/util/FaxToMailUIUtil.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java index dbe67349..248f81ca 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/FaxToMailUIUtil.java @@ -584,9 +584,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { final boolean result = defaultPrinter || printJob.printDialog(attributes); if (result) { - //Use SwingWorker so that printing does not block UI (cf. #9786) - SwingWorker worker = new SwingWorker<Integer, Void>() { @Override public Integer doInBackground() { @@ -595,9 +593,7 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { printJob.setPrintable(filesPrintable); try { - printJob.print(attributes); - } catch (PrinterException ex) { if (log.isErrorEnabled()) { log.error("can't print", ex); @@ -656,11 +652,13 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { @Override public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException { + File printedFile = null; try { if (pageIndex >= countPages) { IOUtils.closeQuietly(pdDocument); if (filesToPrint.hasNext()) { - pdDocument = PDDocument.load(filesToPrint.next()); + printedFile = filesToPrint.next(); + pdDocument = PDDocument.load(printedFile); currentRenderer = new PDFRenderer(pdDocument); pageIndexFile = countPages; countPages += pdDocument.getNumberOfPages(); @@ -725,11 +723,16 @@ public final class FaxToMailUIUtil extends ApplicationUIUtil { return Printable.PAGE_EXISTS; } catch (Exception e) { + String fileName = "unknown"; + if (null != printedFile){ + fileName = printedFile.getName(); + } + if (log.isErrorEnabled()) { - log.error("error while printing", e); + log.error("error while printing file : " + fileName, e); } IOUtils.closeQuietly(pdDocument); - throw new PrinterException("Error while printing : " + e.getMessage()); + throw new PrinterException("Error while printing file : " + fileName + " : " + e.getMessage()); } } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 48a02100e8203314a8329c01774d20d0c9d35106 Author: jcouteau <couteau@codelutin.com> Date: Fri Sep 28 11:14:22 2018 +0200 refs #10098 : generate PDF pages one file opening per page and flush every page generation --- .../faxtomail/services/service/EmailServiceImpl.java | 5 ++++- .../com/franciaflex/faxtomail/web/job/MailFilterJob.java | 13 ++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index dfe02f0a..c41a64bb 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -2470,7 +2470,10 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe generatedPDFPage = dao.create(generatedPDFPage); attachment.addGeneratedPDFPages(generatedPDFPage); - //getPersistenceContext().getAttachmentDao().update(attachment); + + //force flush to limit RAM overhead + getPersistenceContext().getHibernateSupport().getHibernateSession().flush(); + } catch (IOException e) { log.error("Error while writing image", e); } diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java index 2e5ba6cb..d96cfcd9 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/job/MailFilterJob.java @@ -456,14 +456,17 @@ public class MailFilterJob extends AbstractFaxToMailJob { for (Attachment attachment:attachments) { if (isFileAPDF(attachment.getOriginalFile())) { - //Pre-generate PDF rendering + //Open file once to get page number + int pageNumber; try (PDDocument pdDocument = PDDocument.load(attachment.getOriginalFile().getContent())) { - PDFRenderer renderer = new PDFRenderer(pdDocument); - - for (int i = 0; i < pdDocument.getNumberOfPages(); i++) { + pageNumber = pdDocument.getNumberOfPages(); + } + //Open file once per page to limit memory overhead + for (int i = 0; i < pageNumber; i++) { + try (PDDocument pdDocument = PDDocument.load(attachment.getOriginalFile().getContent())) { + PDFRenderer renderer = new PDFRenderer(pdDocument); BufferedImage pageImage = renderer.renderImage(i); - emailService.createGeneratedPDFPage(attachment, pageImage); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm