我正在使用 Jackrabbit 2.8.0 和 JCR 2.0,我正在为一个组织开发一个项目,以便它的用户可以使用他们的用户帐户以数字格式存储他们的文档和目录。我想为所有用户提供大小配额限制。为了跟踪大小,我试图获取任何 JCR 节点的大小,包括其子节点。任何形式的帮助都将是非常可观的。提前致谢
//jcr session after login to repository with user credentials
Session jcrsession = sessions.getSession();
Node root = jcrsession.getRootNode();
//added a file type node to root
file = root.addNode(fileName, Config.EDMS_DOCUMENT);
file.setProperty(Config.EDMS_SIZE, filesize);
InputStream isss= new ByteArrayInputStream(decodedBaseData);
Binary myBinary = valueFactory.createBinary(isss);
file.addMixin("mix:referenceable");
//added a node which will contain binary file
Node resNode = file.addNode(Config.EDMS_CONTENT,"edms:resource");
try {
//added binary data to node
resNode.setProperty("jcr:data",myBinary);
} catch (IOException e) {
e.printStackTrace();
}finally{
myBinary.dispose();
isss.close();
}
jcrsession.save();
这就是我添加文档类型节点的方式,现在我想获取一个节点的大小(以 KB 为单位),该节点可能有多个文件夹类型或文件类型的子节点。