summaryrefslogtreecommitdiffstats
path: root/messagebus
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 /messagebus
parentf6d6f0db9f6dab4a48aea33dd8c41b28ff624ad5 (diff)
Eliminate config self-subscription from MessageBusDocumentAccess
Diffstat (limited to 'messagebus')
-rwxr-xr-xmessagebus/src/main/java/com/yahoo/messagebus/MessageBusParams.java13
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/RPCMessageBus.java15
2 files changed, 28 insertions, 0 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/MessageBusParams.java b/messagebus/src/main/java/com/yahoo/messagebus/MessageBusParams.java
index 7f55401cf43..2c8382ab715 100755
--- a/messagebus/src/main/java/com/yahoo/messagebus/MessageBusParams.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/MessageBusParams.java
@@ -19,6 +19,7 @@ public class MessageBusParams {
private RetryPolicy retryPolicy;
private int maxPendingCount;
private int maxPendingSize;
+ private MessagebusConfig config;
/**
* Constructs a new instance of this parameter object with default values for all members.
@@ -27,6 +28,7 @@ public class MessageBusParams {
retryPolicy = new RetryTransientErrorsPolicy();
maxPendingCount = 1024;
maxPendingSize = 128 * 1024 * 1024;
+ config = null;
}
/**
@@ -39,6 +41,7 @@ public class MessageBusParams {
retryPolicy = params.retryPolicy;
maxPendingCount = params.maxPendingCount;
maxPendingSize = params.maxPendingSize;
+ config = params.config;
}
/**
@@ -143,4 +146,14 @@ public class MessageBusParams {
this.maxPendingSize = maxSize;
return this;
}
+
+ public MessagebusConfig getMessageBusConfig() {
+ return config;
+ }
+
+ public MessageBusParams setMessageBusConfig(MessagebusConfig config) {
+ this.config = config;
+ return this;
+ }
+
}
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/RPCMessageBus.java b/messagebus/src/main/java/com/yahoo/messagebus/RPCMessageBus.java
index 5ea278c410b..f5bf03c5420 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/RPCMessageBus.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/RPCMessageBus.java
@@ -21,6 +21,21 @@ public class RPCMessageBus extends NetworkMessageBus {
/**
* Constructs a new instance of this class.
*
+ * @param mbusParams A complete set of message bus parameters, including messagebus config.
+ * @param rpcParams A complete set of network parameters, including rpc network config.
+ */
+ public RPCMessageBus(MessageBusParams mbusParams, RPCNetworkParams rpcParams) {
+ this(mbusParams, new RPCNetwork(rpcParams));
+ }
+
+ private RPCMessageBus(MessageBusParams mbusParams, RPCNetwork network) {
+ super(network, new MessageBus(network, mbusParams));
+ configAgent = new ConfigAgent(mbusParams.getMessageBusConfig(), getMessageBus());
+ }
+
+ /**
+ * Constructs a new instance of this class.
+ *
* @param mbusParams A complete set of message bus parameters.
* @param rpcParams A complete set of network parameters.
* @param routingCfgId The config id for message bus routing specs.