You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Stefan Guggisberg <st...@gmail.com> on 2007/06/01 12:01:46 UTC
Re: Blob in another directory
hi glaucio,
On 5/31/07, Glaucio Scheibel <gl...@datasul.com.br> wrote:
> Hi again,
>
> I look at the source codes and I found the cause:
>
> In DatabasePersistenceManager, if the externalBlob property is true, it
> creates a new LocalFileSystem object using the context.getHomeDir
> instead using the root path of context.getFileSystem. There is another
> problem: the root path of a FileSystem is not readable, so I had to
> change this property visibility to create the FileSystem with the
> correct path.
> This is a real problem for me because I need to create each workspace in
> a separate paths. Till now the only solution is setting the externalBlob
> property to false.
you could e.g. override the init(PMContext) method in your
DatabasePersistenceManager derived class as follows:
public void init(PMContext context) throws Exception {
super.init(context);
if (externalBLOBs) {
/**
* store BLOBs in a sub directory of the workspace's
* virtual file system
*/
BasedFileSystem blobFS = new
BasedFileSystem(context.getFileSystem(), "blobs");
blobFS.init();
this.blobFS = blobFS;
blobStore = new FileSystemBLOBStore(blobFS);
}
}
however, i have difficulties understanding your requirement. could you please
elaborate why you need to locate the workspace home directories outside
the repository home dir?
cheers
stefan
>
> Thanks
> Glaucio
>
>
> Glaucio Scheibel wrote:
> > Hi All,
> >
> > I created a workspace in another directory (outside the repository
> > directory).
> > The index and data files are correct stored in this directory, but the
> > blob files still been stored inside the repository diretory.
> > Jackrabbit create a directory with workspace name below the repository
> > dir and put the workspace.xml file and the blob diretory there.
> > I allready look at the PersistentManager but doesn't have any property
> > to configure the directory of blob files.
> > Is there a way to specify the directory of blob files?
> >
> > Thanks
> > Glaucio
> >
> >
>
Re: Blob in another directory
Posted by Glaucio Scheibel <gl...@datasul.com.br>.
Hi Stefan,
At this time, I am only doing some tests for big repositories and one of
the requisites is distributed workspaces. I need to store data in
different hard drives, if I use internal blob's, it works.
I still not sure which is better: internal or external blob ;-)
Glaucio
Stefan Guggisberg wrote:
> hi glaucio,
>
> On 5/31/07, Glaucio Scheibel <gl...@datasul.com.br> wrote:
>> Hi again,
>>
>> I look at the source codes and I found the cause:
>>
>> In DatabasePersistenceManager, if the externalBlob property is true, it
>> creates a new LocalFileSystem object using the context.getHomeDir
>> instead using the root path of context.getFileSystem. There is another
>> problem: the root path of a FileSystem is not readable, so I had to
>> change this property visibility to create the FileSystem with the
>> correct path.
>> This is a real problem for me because I need to create each workspace in
>> a separate paths. Till now the only solution is setting the externalBlob
>> property to false.
>
> you could e.g. override the init(PMContext) method in your
> DatabasePersistenceManager derived class as follows:
>
> public void init(PMContext context) throws Exception {
> super.init(context);
>
> if (externalBLOBs) {
> /**
> * store BLOBs in a sub directory of the workspace's
> * virtual file system
> */
> BasedFileSystem blobFS = new
> BasedFileSystem(context.getFileSystem(), "blobs");
> blobFS.init();
> this.blobFS = blobFS;
> blobStore = new FileSystemBLOBStore(blobFS);
> }
> }
>
> however, i have difficulties understanding your requirement. could you
> please
> elaborate why you need to locate the workspace home directories outside
> the repository home dir?
>
> cheers
> stefan
>
>>
>> Thanks
>> Glaucio
>>
>>
>> Glaucio Scheibel wrote:
>> > Hi All,
>> >
>> > I created a workspace in another directory (outside the repository
>> > directory).
>> > The index and data files are correct stored in this directory, but the
>> > blob files still been stored inside the repository diretory.
>> > Jackrabbit create a directory with workspace name below the repository
>> > dir and put the workspace.xml file and the blob diretory there.
>> > I allready look at the PersistentManager but doesn't have any property
>> > to configure the directory of blob files.
>> > Is there a way to specify the directory of blob files?
>> >
>> > Thanks
>> > Glaucio
>> >
>> >
>>
>