Docs: Discovery via DNS (#29153)

This commit is contained in:
Enno 2020-06-09 17:33:52 +02:00 committed by GitHub
parent 84b1369238
commit 7e69b990b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 113 additions and 19 deletions

View file

@ -0,0 +1,54 @@
/*
* Copyright (C) 2020 Lightbend Inc. <https://www.lightbend.com>
*/
package jdocs.discovery;
import akka.actor.ActorSystem;
// #lookup-dns
import akka.discovery.Discovery;
import akka.discovery.ServiceDiscovery;
// #lookup-dns
import akka.testkit.javadsl.TestKit;
import docs.discovery.DnsDiscoveryDocSpec;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.scalatestplus.junit.JUnitSuite;
import java.time.Duration;
import java.util.concurrent.CompletionStage;
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertFalse;
@SuppressWarnings("unused")
public class DnsDiscoveryDocTest extends JUnitSuite {
private static ActorSystem system;
@BeforeClass
public static void setup() {
system = ActorSystem.create("LeaseDocTest", DnsDiscoveryDocSpec.config());
}
@AfterClass
public static void teardown() {
TestKit.shutdownActorSystem(system);
system = null;
}
@Test
public void dnsDiscoveryShouldResolveAkkaIo() throws Exception {
// #lookup-dns
ServiceDiscovery discovery = Discovery.get(system).discovery();
// ...
CompletionStage<ServiceDiscovery.Resolved> result =
discovery.lookup("akka.io", Duration.ofMillis(500));
// #lookup-dns
ServiceDiscovery.Resolved resolved =
result.toCompletableFuture().get(500, TimeUnit.MILLISECONDS);
assertFalse(resolved.getAddresses().isEmpty());
}
}