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