aboutsummaryrefslogtreecommitdiffstats
path: root/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
diff options
context:
space:
mode:
Diffstat (limited to 'documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java')
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
index 4226c1e6cac..34124cf48db 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/MessageTypePolicy.java
@@ -5,10 +5,13 @@ import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
import com.yahoo.vespa.config.content.MessagetyperouteselectorpolicyConfig;
+
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
+import static java.util.stream.Collectors.toUnmodifiableMap;
+
/**
* @author baldersheim
*/
@@ -18,6 +21,13 @@ public class MessageTypePolicy implements DocumentProtocolRoutingPolicy, ConfigS
private ConfigSubscriber subscriber;
private volatile Route defaultRoute;
+ MessageTypePolicy(DocumentProtocolPoliciesConfig.Cluster config) {
+ configRef.set(config.route().stream()
+ .collect(toUnmodifiableMap(route -> route.messageType(),
+ route -> Route.parse(route.name()))));
+ defaultRoute = Route.parse(config.defaultRoute());
+ }
+
MessageTypePolicy(String configId) {
subscriber = new ConfigSubscriber();
subscriber.subscribe(this, MessagetyperouteselectorpolicyConfig.class, configId);