FileDataStore: only open a stream when really necessary -------------------------------------------------------
Key: JCR-2067 URL: https://issues.apache.org/jira/browse/JCR-2067 Project: Jackrabbit Content Repository Issue Type: Improvement Reporter: Thomas Mueller Assignee: Thomas Mueller Currently, PropertyImpl.getValue() opens a FileInputStream if the FileDataStore is used. If the application doesn't use the value, this stream is never closed. PropertyImpl.getValue(): return internalGetValue().toJCRValue(session); InternalValue.toJCRValue(..): case PropertyType.BINARY: return new BinaryValue(((BLOBFileValue) val).getStream()); BLOBInDataStore.getStream(): return getDataRecord().getStream(); FileDataRecord.getStream(): return new FileInputStream(file); One solution is to return a 'lazy' file input stream that only opens the file when reading from the stream (and closing the file when the last byte was read). Maybe there is already a class (in Apache Commons maybe?) that can do that. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.