* Add java.time.Duration support in the JavaDSL in akka-actor module #24646 * add deprecation and change retry
This commit is contained in:
parent
e18382bb0f
commit
6a9fa1946d
35 changed files with 419 additions and 80 deletions
|
|
@ -9,7 +9,7 @@ import akka.testkit.AkkaSpec;
|
|||
import org.junit.ClassRule;
|
||||
import org.junit.Test;
|
||||
import org.scalatest.junit.JUnitSuite;
|
||||
import scala.concurrent.duration.FiniteDuration;
|
||||
import java.time.Duration;
|
||||
|
||||
import java.util.concurrent.CompletionStage;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
|
@ -28,7 +28,7 @@ public class ActorSelectionTest extends JUnitSuite {
|
|||
public void testResolveOneCS() throws Exception {
|
||||
ActorRef actorRef = system.actorOf(Props.create(JavaAPITestActor.class), "ref1");
|
||||
ActorSelection selection = system.actorSelection("user/ref1");
|
||||
FiniteDuration timeout = new FiniteDuration(10, TimeUnit.MILLISECONDS);
|
||||
Duration timeout = Duration.ofMillis(10);
|
||||
|
||||
CompletionStage<ActorRef> cs = selection.resolveOneCS(timeout);
|
||||
|
||||
|
|
|
|||
|
|
@ -4,14 +4,13 @@
|
|||
|
||||
package akka.actor;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
import java.time.Duration;
|
||||
import org.junit.ClassRule;
|
||||
import org.junit.Test;
|
||||
import akka.testkit.AkkaJUnitActorSystemResource;
|
||||
import akka.testkit.AkkaSpec;
|
||||
import org.scalatest.junit.JUnitSuite;
|
||||
import scala.concurrent.duration.FiniteDuration;
|
||||
|
||||
public class InboxJavaAPITest extends JUnitSuite {
|
||||
|
||||
|
|
@ -24,7 +23,7 @@ public class InboxJavaAPITest extends JUnitSuite {
|
|||
@Test(expected = TimeoutException.class)
|
||||
public void mustBeAbleToThrowTimeoutException() throws TimeoutException {
|
||||
Inbox inbox = Inbox.create(system);
|
||||
inbox.receive(new FiniteDuration(10, TimeUnit.MILLISECONDS));
|
||||
inbox.receive(Duration.ofMillis(10));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,18 +7,18 @@ package akka.pattern;
|
|||
import akka.actor.*;
|
||||
import akka.testkit.AkkaJUnitActorSystemResource;
|
||||
import akka.testkit.AkkaSpec;
|
||||
import akka.util.JavaDurationConverters;
|
||||
import org.junit.ClassRule;
|
||||
import org.junit.Test;
|
||||
import org.scalatest.junit.JUnitSuite;
|
||||
import scala.compat.java8.FutureConverters;
|
||||
import scala.concurrent.Await;
|
||||
import scala.concurrent.duration.FiniteDuration;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CompletionStage;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.function.BiFunction;
|
||||
import java.time.Duration;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
|
|
@ -32,20 +32,20 @@ public class CircuitBreakerTest extends JUnitSuite {
|
|||
|
||||
@Test
|
||||
public void useCircuitBreakerWithCompletableFuture() throws Exception {
|
||||
final FiniteDuration fiveSeconds = FiniteDuration.create(5, TimeUnit.SECONDS);
|
||||
final FiniteDuration fiveHundredMillis = FiniteDuration.create(500, TimeUnit.MILLISECONDS);
|
||||
final Duration fiveSeconds = Duration.ofSeconds(5);
|
||||
final Duration fiveHundredMillis = Duration.ofMillis(500);
|
||||
final CircuitBreaker breaker = new CircuitBreaker(system.dispatcher(), system.scheduler(), 1, fiveSeconds, fiveHundredMillis);
|
||||
|
||||
final CompletableFuture<String> f = new CompletableFuture<>();
|
||||
f.complete("hello");
|
||||
final CompletionStage<String> res = breaker.callWithCircuitBreakerCS(() -> f);
|
||||
assertEquals("hello", Await.result(FutureConverters.toScala(res), fiveSeconds));
|
||||
assertEquals("hello", Await.result(FutureConverters.toScala(res), JavaDurationConverters.asFiniteDuration(fiveSeconds)));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void useCircuitBreakerWithCompletableFutureAndCustomDefineFailure() throws Exception {
|
||||
final FiniteDuration fiveSeconds = FiniteDuration.create(5, TimeUnit.SECONDS);
|
||||
final FiniteDuration fiveHundredMillis = FiniteDuration.create(500, TimeUnit.MILLISECONDS);
|
||||
final Duration fiveSeconds = Duration.ofSeconds(5);
|
||||
final Duration fiveHundredMillis = Duration.ofMillis(500);
|
||||
final CircuitBreaker breaker = new CircuitBreaker(system.dispatcher(), system.scheduler(), 1, fiveSeconds, fiveHundredMillis);
|
||||
|
||||
final BiFunction<Optional<String>, Optional<Throwable>, java.lang.Boolean> fn =
|
||||
|
|
@ -54,7 +54,7 @@ public class CircuitBreakerTest extends JUnitSuite {
|
|||
final CompletableFuture<String> f = new CompletableFuture<>();
|
||||
f.complete("hello");
|
||||
final CompletionStage<String> res = breaker.callWithCircuitBreakerCS(() -> f, fn);
|
||||
assertEquals("hello", Await.result(FutureConverters.toScala(res), fiveSeconds));
|
||||
assertEquals("hello", Await.result(FutureConverters.toScala(res), JavaDurationConverters.asFiniteDuration(fiveSeconds)));
|
||||
assertEquals(1, breaker.currentFailureCount());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue