[
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)