Există o modalitate simplă de a utiliza sistemul de fișiere utilizând API-ul JCR?

Am o aplicație bazată pe OSGi, care folosește sistemul de fișiere pentru a stoca scripturi și date de configurare.

În timp, aș vrea să mut această aplicație în "cloud", și asta nu va funcționa bine cu dependența sa actuală față de accesul la sistemul de fișiere.

Ceea ce aș vrea să fac este să inserați un strat JCR în această aplicație, astfel încât va funcționa în situația actuală (fișierele obișnuite în sistemul de fișiere local), dar va deschide calea către o situație cloud.

Am găsit un conector de fișiere în moduri de modelare , dar am fugit într-o incompatibilitate cu OSGi destul de severă, care nu a fost rezolvată . În plus, ModeShape trage în LOTS de dependențe (aproximativ 6 MB, cred), ceea ce este o problemă pentru mine.

Deci, eu nu văd nici o altă opțiune, în afară de a începe să-mi sparg implementarea proprie JCR, pe care nu vreau să o fac.

Vreo idee?

0

2 răspunsuri

Puteți utiliza, de asemenea, Apache Commons VFS2, de exemplu, există un conector JCR sau puteți utiliza webdav sau o tabelă JDBC. Folosesc acest lucru într-un proiect comercial pe partea superioară a unui arbore atomic (asemănător gitului) deasupra unui tabel JDBC comun.

0
adăugat

Deși nu veți folosi direct JCR, utilizarea mecanismului Apache Sling ResourceProvider ar trebui să vă permită să vă deplasați cu ușurință de la sistemul de fișiere la altceva mai târziu și este OSGi-friendly, deoarece Sling este 100% bazat pe OSGi.

Ați putea începe acum utilizând sistemul de resurse al Sling's Filesystem ( http://sling. apache.org/site/accessing-filesystem-resources-extensionsfsresource.html ) și apoi mutați-vă la propriul ResourceProvider personalizat, după cum este necesar.

Codul sursă al furnizorului de sisteme de fișiere este la adresa https://svn. apache.org/repos/asf/sling/trunk/bundles/extensions/fsresource - este un cod simplu care poate fi folosit ca exemplu pentru crearea propriului ResourceProvider.

Pentru sistemul dvs. personalizat întrebarea ar fi câte pachete de Sling aveți nevoie pentru a obține că de lucru - nu știu de pe partea de sus a capului meu, dar ar sugera folosind Sling Launchpad pentru a afla, lansează un sistem de vanilie Sling cu o mulțime de pachete pe care nu le veți avea nevoie, dar ați putea încerca să le reduceți la minimul care încă permite ca mecanismul ResourceProvider să funcționeze.

0
adăugat
Grozav! M-am uitat în Sling (chiar i-am îndrumat pe alții aici la Sling), dar într-un fel am pierdut acea bucată de funcționalitate, așa că am crezut că această funcționalitate a fost oferită doar de Modeshape.
adăugat autor Frank Lee, sursa