diff options
Diffstat (limited to 'container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/test/RemoteServer.java')
-rw-r--r-- | container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/test/RemoteServer.java | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/test/RemoteServer.java b/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/test/RemoteServer.java index 0fb23e33709..1f0f82c4903 100644 --- a/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/test/RemoteServer.java +++ b/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/test/RemoteServer.java @@ -1,16 +1,9 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.messagebus.jdisc.test; -import com.yahoo.cloud.config.SlobroksConfig; import com.yahoo.jrt.ListenFailedException; import com.yahoo.jrt.slobrok.server.Slobrok; -import com.yahoo.messagebus.DestinationSession; -import com.yahoo.messagebus.DestinationSessionParams; -import com.yahoo.messagebus.Message; -import com.yahoo.messagebus.MessageBus; -import com.yahoo.messagebus.MessageBusParams; -import com.yahoo.messagebus.Protocol; -import com.yahoo.messagebus.Reply; +import com.yahoo.messagebus.*; import com.yahoo.messagebus.network.Identity; import com.yahoo.messagebus.network.rpc.RPCNetwork; import com.yahoo.messagebus.network.rpc.RPCNetworkParams; @@ -24,14 +17,16 @@ import java.util.concurrent.TimeUnit; public class RemoteServer { private final Slobrok slobrok; + private final String slobrokId; private final MessageBus mbus; private final MessageQueue queue = new MessageQueue(); private final DestinationSession session; - private RemoteServer(Protocol protocol, String identity) { - this.slobrok = newSlobrok(); + private RemoteServer(Slobrok slobrok, String slobrokId, Protocol protocol, String identity) { + this.slobrok = slobrok; + this.slobrokId = slobrok != null ? slobrok.configId() : slobrokId; mbus = new MessageBus(new RPCNetwork(new RPCNetworkParams() - .setSlobroksConfig(slobroksConfig()) + .setSlobrokConfigId(this.slobrokId) .setIdentity(new Identity(identity))), new MessageBusParams().addProtocol(protocol)); session = mbus.createDestinationSession(new DestinationSessionParams().setMessageHandler(queue)); @@ -53,22 +48,32 @@ public class RemoteServer { session.reply(reply); } - public SlobroksConfig slobroksConfig() { - return TestUtils.configFor(slobrok); + public String slobrokId() { + return slobrokId; } public void close() { session.destroy(); mbus.destroy(); - slobrok.stop(); + if (slobrok != null) { + slobrok.stop(); + } } public static RemoteServer newInstanceWithInternSlobrok() { - return new RemoteServer(new SimpleProtocol(), "remote"); + return new RemoteServer(newSlobrok(), null, new SimpleProtocol(), "remote"); + } + + public static RemoteServer newInstanceWithExternSlobrok(String slobrokId) { + return new RemoteServer(null, slobrokId, new SimpleProtocol(), "remote"); + } + + public static RemoteServer newInstance(String slobrokId, String identity, Protocol protocol) { + return new RemoteServer(null, slobrokId, protocol, identity); } - public static RemoteServer newInstance(String identity, Protocol protocol) { - return new RemoteServer(protocol, identity); + public static RemoteServer newInstanceWithProtocol(Protocol protocol) { + return new RemoteServer(newSlobrok(), null, protocol, "remote"); } private static Slobrok newSlobrok() { |