jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Illarion Kovalchuk <illarion.kovalc...@gmail.com>
Subject Re: How to store randomly accessed data in jackrabbit?
Date Mon, 01 Mar 2010 10:21:00 GMT
Alexander Klimetschek wrote:
> On Fri, Feb 26, 2010 at 15:40, Illarion Kovalchuk
> <illarion.kovalchuk@gmail.com> wrote:
>   
>> My task is to determine the proper JCR repository structure for storing of
>> binary data, so that I'll be able to:
>>
>> 1) Read data starting from any offset
>> 2) Write/Modify data starting from any offset
>>
>> It seems that binary properties can't be used in such way, so I need to
>> implement some logic on top of jcr... Could you help?
>>     
>
> Yes, binary properties can only be read as a whole (InputStream
> returned is read-only) and stored back as a whole (new input stream).
>
> I think the way to go is to copy the existing binary value (note: pseudo-code)
>
> node.getProperty("jcr:data").getBinary().getInputStream()
>
> into either a local file or an in-memory input stream, do your work
> there and then finally store the whole stream again
>
> node.setProperty("jcr:data", valueFactory.createBinary(stream))
>
> Regards,
> Alex
>
>   
Thanks, but your solution would be acceptable for small amounts of data, 
but in our project we have to deal with big contents, from hundreds of 
megabytes to gigabytes, and clients will work remotely
 via internet, so they just can't get binary content as a whole, modify 
it and upload again.

 Is there some other way?

-- 
With best regards

Illarion Kovalchuk, COMODO Online Backup.


Mime
View raw message