Sto cercando di imparare come usare Apache Commons VFS2.Come funziona la Commons VFS Cache?
Ho letto tutto il docu che ho trovato e sono già abbastanza familiare con l'API, ma c'è ancora una cosa che non mi è perfettamente chiara.
Come funziona il meccanismo Cache? In particolare:
Non ho la differenza tra una strategia di cache e l'interfaccia di FilesCache. Quale viene usato quando?
Si dice nel docu qui: http://wiki.apache.org/commons/VfsCacheStrategy ... che ci sono 3 possibili strategie di cache e ognuna è spiegata nei dettagli. Prendo la strategia "on_call" più semplice, ma non le altre due. Ad esempio, se scegliamo una strategia MANUALE, si dice che "devi usare fileObject.refresh() per aggiornare il tuo oggetto con il filesystem". Ma cosa implica esattamente questo? Significa che se scrivo byte ai FileContents di questo FileObject essi non verranno effettivamente scritti fino a quando non chiudo l'oggetto file o non chiamo aggiornamento? Cosa succede se ho 2 FileObject risolti dallo stesso URI e ho eliminato() il primo? Il secondo metodo exist() restituirà comunque true poiché gli oggetti del file sono memorizzati nella cache?
Quando provo a giocare con le diverse strategie di cache localmente sul mio computer, non trovo differenze nel comportamento. Si comportano tutti allo stesso modo e i file sono sempre sincronizzati con la FS (o almeno non è evidente che non lo siano).