J'utilise Apache Jackrabbit
pour stocker des fichiers PDF, doc et utiliser FileDataStore
comme magasin de données sous-jacent. Après avoir défini les valeurs de données binaires, de nombreux fichiers temporaires/spool (bin * .tmp) sont créés dans le répertoire temp. Ces fichiers ne sont jamais supprimés tant que JVM n'est pas arrêté. Ces fichiers temporaires inondent le répertoire tmp et entraînent une erreur no space left on device
.Les fichiers temporaires ne sont pas supprimés dans Apache Jackrabbit
Ce qui suit est l'extrait de code:
Node childFileNode = childLeafFolder.addNode(file.pdf, NodeType.NT_FILE);
Node childContentNode = childFileNode.addNode(Node.JCR_CONTENT,
NodeType.NT_RESOURCE);
Property property = childContentNode.setProperty(Property.JCR_DATA, binary);
J'ai essayé d'invoquer property.getBinary.dispose()
, qui pointe vers AbstractQValue dispose()
, et savoir qu'il est une méthode vide.
J'ai googlé et rencontré JCR-3568 et cela n'est toujours pas résolu. Mon application dure longtemps et ne peut pas être arrêtée fréquemment.
On dirait qu'il me manque quelque chose car cela pourrait être un problème très commun.
Salut, je suis également confronté au même problème. Pas d'espace disponible sur le périphérique. Quelqu'un peut-il suggérer dans quelle version sera JCR-3568 être adressée. –
Écrire un test unitaire. Corrige le bug. Proposez un patch. C'est open source. –