[ 
https://issues.apache.org/jira/browse/OAK-1333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13876540#comment-13876540
 ] 

Dominique Pfister commented on OAK-1333:
----------------------------------------

Thanks for your comments, Alex!

Initially I put ExternalBlob (and its trivial File-based implementation) in a 
separate plugins sub-package called _blobs_, and added an ExternalBlobFactory 
interface as well. I then added a parameter of this type to the FileStore 
constructor(s), so its _readBlob()_ method could delegate to such a factory. 
Considering that this change was quite extensive I came up with the current 
approach.

I decided to put this method in AbstractStore because of the 
SegmentNodeStoreService (SNSS): if you have one (or possibly multiple Blob 
factories) that are OSGI components, you can collect them in the SNSS and pass 
them to the FileStore constructer.

bq. I don't think this works on windows: new File("/tmp")
Yikes! I'll fix it!

> Support for Blobs in external storage
> -------------------------------------
>
>                 Key: OAK-1333
>                 URL: https://issues.apache.org/jira/browse/OAK-1333
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: segmentmk
>    Affects Versions: 0.14
>            Reporter: Dominique Pfister
>            Assignee: Dominique Pfister
>         Attachments: patch.txt, patch2.txt
>
>
> Currently, when putting a Blob into a PropertyState, the SegmentNodeStore 
> automatically consumes the Blob if it isn't of type SegmentBlob, and stores 
> its contents in the SegmentStore.
> It would be nice, if one could put _external_ Blobs as well, where the 
> SegmentStore would only store a reference to it.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to