You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Vijay Pandey <VP...@mdes.ms.gov> on 2009/01/09 15:52:00 UTC

JackRabbit1.5 PersistenceManager and DataStore

Hi,

Our project has been using JackRabbit 1.0.1, now we would like to migrate to
JackRabbit 1.5, I have few questions on the dataStore for jackrabbit.

Current 1.0.1 Configuration is:

Persistence Manager class--> SimpleDbPersistenceManager (
externalBlobs=true, database is DB2). In the repository we are basically
storing PDF docs(stream object) that range from size 10kb to around 100KB
max and we associate around 10-14 properties (string and date types,
metadata).With the externalBlobs being true, the actual PDF's are stored in
FileSystem (SAN)

<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
            <param name="path" value="${wsp.home}"/>
</FileSystem>

Now with 1.5 Jacrabbit configuration ( with datastore - we still want to
store the PDF's on the file system), so will the following configuration
will suffice?

Persistence Manager class-->
org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager

With one of the attributes
<param name="minBlobSize" value="4096"/> 

<DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
  <param name="path" value="${rep.home}/repository/datastore"/>
  <param name="minRecordLength" value="100"/>
</DataStore>

So if we use DataStore, externalBlobs property will never be used( as we
have set up the DataStore) and as
the dataStore is FileDataStore, will the PDF's (stream) will be stored on
the fileSystem.

Is my assumption correct? I have read the wiki, but what's the real
difference between "minBlobSize" and "minRecordLength", how do they differ?
With this configuration above, will all the time meta data properties will
be saved in the database and the PDF's (stream objects) on the file system?

Thanks
Vijay


Re: JackRabbit1.5 PersistenceManager and DataStore

Posted by Thomas Müller <th...@day.com>.
Hi,

> Persistence Manager class-->
> org.apache.jackrabbit.core.persistence.bundle.BundleDbPersistenceManager

I didn't test it with IBM DB2 so I'm not sure.

> With one of the attributes
> <param name="minBlobSize" value="4096"/>

This is not necessary if you use the DataStore.

> <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
>  <param name="path" value="${rep.home}/repository/datastore"/>
>  <param name="minRecordLength" value="100"/>
> </DataStore>

Both parameters are not required, I would not define them. See also
http://wiki.apache.org/jackrabbit/DataStore (recently updated) "All
configuration options are optional".

> Is my assumption correct? I have read the wiki, but what's the real
> difference between "minBlobSize" and "minRecordLength", how do they differ?

I believe they don't actually differ much technically, only that one
is for the BLOB Store and the oder for the DataStore.

> With this configuration above, will all the time meta data properties will
> be saved in the database and the PDF's (stream objects) on the file system?

Yes.

Regards,
Thomas