aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-09-25 10:37:50 +0200
committerJon Marius Venstad <venstad@gmail.com>2020-09-25 10:37:50 +0200
commit17c6dc3a23badb17f468fe8b38bda57eab717a4c (patch)
tree9f8c1b332df340051dc7f2cff1caca3e5d804d2b /container-core
parentf6d6f0db9f6dab4a48aea33dd8c41b28ff624ad5 (diff)
Eliminate config self-subscription from MessageBusDocumentAccess
Diffstat (limited to 'container-core')
-rw-r--r--container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java b/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java
index 1fc156d4e90..deabcbad9b4 100644
--- a/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java
+++ b/container-core/src/main/java/com/yahoo/container/core/documentapi/DocumentAccessProvider.java
@@ -1,6 +1,7 @@
package com.yahoo.container.core.documentapi;
import com.google.inject.Inject;
+import com.yahoo.cloud.config.SlobroksConfig;
import com.yahoo.component.AbstractComponent;
import com.yahoo.container.di.componentgraph.Provider;
import com.yahoo.document.config.DocumentmanagerConfig;
@@ -20,6 +21,7 @@ import com.yahoo.documentapi.VisitorSession;
import com.yahoo.documentapi.messagebus.MessageBusDocumentAccess;
import com.yahoo.documentapi.messagebus.MessageBusParams;
import com.yahoo.documentapi.messagebus.loadtypes.LoadTypeSet;
+import com.yahoo.messagebus.MessagebusConfig;
import com.yahoo.vespa.config.content.LoadTypeConfig;
/**
@@ -33,8 +35,9 @@ public class DocumentAccessProvider extends AbstractComponent implements Provide
@Inject
// TODO jonmv: Have Slobrok and RPC config injected as well.
- public DocumentAccessProvider(DocumentmanagerConfig documentmanagerConfig, LoadTypeConfig loadTypeConfig) {
- this.access = new LazyWrapper(documentmanagerConfig, loadTypeConfig);
+ public DocumentAccessProvider(DocumentmanagerConfig documentmanagerConfig, LoadTypeConfig loadTypeConfig,
+ SlobroksConfig slobroksConfig, MessagebusConfig messagebusConfig) {
+ this.access = new LazyWrapper(documentmanagerConfig, loadTypeConfig, slobroksConfig, messagebusConfig);
}
@Override
@@ -50,18 +53,21 @@ public class DocumentAccessProvider extends AbstractComponent implements Provide
public static class LazyWrapper extends DocumentAccess {
- private final DocumentmanagerConfig documentmanagerConfig;
- private final LoadTypeConfig loadTypeConfig;
+ private final MessageBusParams parameters;
private final Object monitor = new Object();
private DocumentAccess delegate = null;
private boolean shutDown = false;
private LazyWrapper(DocumentmanagerConfig documentmanagerConfig,
- LoadTypeConfig loadTypeConfig) {
+ LoadTypeConfig loadTypeConfig,
+ SlobroksConfig slobroksConfig,
+ MessagebusConfig messagebusConfig) {
super(new DocumentAccessParams().setDocumentmanagerConfig(documentmanagerConfig));
- this.documentmanagerConfig = documentmanagerConfig;
- this.loadTypeConfig = loadTypeConfig;
+ this.parameters = new MessageBusParams(new LoadTypeSet(loadTypeConfig));
+ this.parameters.setDocumentmanagerConfig(documentmanagerConfig);
+ this.parameters.getRPCNetworkParams().setSlobroksConfig(slobroksConfig);
+ this.parameters.getMessageBusParams().setMessageBusConfig(messagebusConfig);
}
private DocumentAccess delegate() {
@@ -70,7 +76,7 @@ public class DocumentAccessProvider extends AbstractComponent implements Provide
if (shutDown)
throw new IllegalStateException("This document access has been shut down");
- delegate = new MessageBusDocumentAccess((MessageBusParams) new MessageBusParams(new LoadTypeSet(loadTypeConfig)).setDocumentmanagerConfig(documentmanagerConfig));
+ delegate = new MessageBusDocumentAccess(parameters);
}
return delegate;
}