[
https://issues.apache.org/jira/browse/PDFBOX-6120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18045134#comment-18045134
]
Tilman Hausherr commented on PDFBOX-6120:
-----------------------------------------
Maybe you're creating too many processes? Anyway, you could also try this so
you won't need files:
{code:java}
ValidationResult validate(byte[] data) throws IOException
{
PreflightParser parser = new PreflightParser(new
RandomAccessReadBuffer(data));
try (PreflightDocument document = (PreflightDocument) parser.parse())
{
return document.validate().isValid();
}
catch (SyntaxValidationException e)
{
return false;
}
}
{code}
> PreflightParser .validate leads to "Too many open files"
> --------------------------------------------------------
>
> Key: PDFBOX-6120
> URL: https://issues.apache.org/jira/browse/PDFBOX-6120
> Project: PDFBox
> Issue Type: Bug
> Components: Preflight
> Affects Versions: 3.0.6 PDFBox
> Reporter: Théo Lenoble
> Priority: Major
>
> Hi from France,
> Hope my english will be clear enough to explain what we encounter :D
> We use org.apache.pdfbox:preflight:3.0.6, calling static method
> PreflightParser.validate we encounter "Too many open files" issues.
> We solved it locally by extending PreflightParser, implementing Closeable
> interface and overriding validate function.
> Exemple of our solution :
> {code:java}
> public class CustomPreflightParser extends PreflightParser implements
> Closeable {
> public static ValidationResult validate(File file) throws IOException {
> ValidationResult result;
> try(
> // we move PreflightParser initialisation here
> CustomPreflightParser parser = new CustomPreflightParser(file);
> PreflightDocument document = (PreflightDocument) parser.parse()
> ) {
> result = document.validate();
> }
> catch (SyntaxValidationException e)
> {
> result = e.getResult();
> }
> return result;
> }
> @Override
> public void close() {
> IOUtils.closeQuietly( this.source );
> IOUtils.closeQuietly( this.document );
> // May be missing close ressources, seems to be enought for us
> }
> }
> {code}
> We didn't spend more time on it so may be there is a better solution ?
> We wanted to share it with you in case you validate the issue and provide a
> proper fix.
> And may be it could help other to avoid having the same issue (or have a
> quick imperfect solution).
> Hope this could help :)
> Regards,
> Théo Lenoble
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]