这个错误通常是由于无法查找到akka.management.cluster.bootstrap.contact-point-discovery.http-endpoint或连接到该end point引起的。确保contact-point-discovery.http-endpoint正确配置,并且它位于可访问的网络位置。 另一个可能的原因是你的网络访问限制,比如代理。你可以为启动ActorSystem配置代理。示例代码如下:
final ActorSystem system = ActorSystem.create("MyActorSystem");
final Config config = system.settings().config();
final akka.io.ProxyServer proxyServer = new akka.io.ProxyServerImpl(
new InetSocketAddress("myproxyserver.com", 8080),
new InetSocketAddress("myproxyuser", "myproxypass"));
final akka.io.Inet.SocketOption[] socketOptions =
new akka.io.Inet.SocketOption[] {
akka.io.Tcp.SO_REUSEADDR(true),
akka.io.Tcp.SO_KEEPALIVE(true),
akka.io.Tcp.SO_TIMEOUT(10000),
akka.io.Tcp.TCP_NODELAY(true),
akka.io.Tcp.TCP_CORK(true)
};
final akka.io.Inet.Connecting connecting = new akka.io.Inet.Connecting(
new InetSocketAddress("remotehost.com", 8080),
proxyServer, socketOptions, null, false, null);
final Settings settings = new Settings(config);
final ActorRef manager = system.actorOf(TcpManager.getManager(settings.tcp()), "tcp");
manager.tell(connecting, ActorRef.noSender());
这里我们创建一个ActorSystem,并配置一个代理服务器和连接事件,并告诉manager连接到服务器。你需要将InetSocketAddress替换为你的代理服务器和目标服务器的适当设置。