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

Philipp Suter commented on OAK-2919:
------------------------------------

You could use the OSGi registry to:
a) load all the available DocumentNodeStoreBuilder or even the available 
DocumentStore and BlobStore
b) filter in the Activator or @Activate method based on the configuration and 
only map the ones that fit the configuration
c) maybe even de-activate the ones that don't fit the configuration to spare 
some threads that might be created, but that might not be necessary.

> Refactor DocumentNodeStoreService and dependencies
> --------------------------------------------------
>
>                 Key: OAK-2919
>                 URL: https://issues.apache.org/jira/browse/OAK-2919
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: blob, mongomk
>            Reporter: Philipp Suter
>              Labels: technical_debt
>
> Change how DocumentNodeStoreService, DocumentNodeStore, DocumentStore, 
> BlobStore, DocumentMK.Builder are wired. It is unclear why 
> registerNodeStoreIfPossible and registerNodeStore need additional logic to 
> load the right BlobStore and DocumentStore.
> - Ideally (Document)NodeStore references one DocumentStore and one BlobStore. 
> Configuration for them are loaded over respective OSGi configurations.
> - Cache should be handled in (Document)NodeStore and be independent from 
> DocumentStore, BlobStore.
> - DocumentMK.Builder and DocumentNodeStoreService should be obsolete.
> - DocumentNodeStore is too long and could ideally be split in smaller files.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to