Clarification of JackRabbit Conservation Managers

I am trying to decide what type of conservation manager will be used for my project. I read this wiki post about persistenceManagers .

First of all, due to JCR-2802 (all obsolete PM not related to the package), there is only

BundleFsPersistenceManager BundleDbPersistenceManager Mysql,H2,PostgreSQL,Oracle,Derby,MSSQL - PersistenceManagers 

and all those InMem, Object, Xml PersistenceManagers are deprecated. (MemoryFileSystem still ok when InMemPM is deprecated?)

So, as I see it, the BundleFsPersistenceManager uses the LocalFileSystem to save the files (is there a wiki entry that explains how the contents are stored in the files?), Like other types of node properties like nt: file), the file system and the BundleDbPersistenceManager uses a DbFileSystem to store exact files in a DBMS? Otherwise, lucene indexing and full-text search would not be possible?

Thus, the reasons for the clustering and distributed nature of systems and atomicity ... otherwise, the database implementation will be redundant right? Similarly, people have more choices.

+4
source share
1 answer

Does MemoryFileSystem still work while InMemPM is out of date?

Yes ... It’s a little sad that the memory manager has expired because it allows you to run fast unit tests. However, you can also use the database persistence manager along with a database in memory (for example, an H2 database).

Is there a wiki entry that explains how content is stored in files?

No, because this is an implementation detail and can be changed, you will not need to analyze or write such files yourself and use Jackrabbit instead.

like various types of node properties like nt: file

The contents of the file are stored in the DataStore. node, and property data and data warehouse links are the save manager.

Otherwise, lucene indexing and full-text search would not be possible?

Indexing Lucene is independent of the storage manager or data format that the storage manager uses. Indexing Lucene internally does not have direct access to persistence manager data.

Otherwise, the database implementation will be redundant?

Just some people prefer to store all the data in a database (for example, because they already have a database and know very well how to work / back up / maintain it). It seems that everything is okay to store data in the file system directly, however in Jackrabbit there is no built-in transaction-based save manager. To do this, you will need to use the Jackrabbit extension, such as the (commercial) CRX from Adobe (disclaimer: I work for Adobe).

+3
source

Source: https://habr.com/ru/post/1344095/


All Articles