X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FTestWriter.java;h=0d2c41e728e8d7dc214149b6c74dd5c97d890842;hb=bce5ce999de007bb43c28f908fceef0646ac513c;hp=9253ede8ef700189e7c8903f61f7fe4a505bcc79;hpb=9040f756b2c591244f82cd84bbcd2bc12bccdbf0;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/TestWriter.java b/src/test/java/de/juplo/kafka/chat/backend/TestWriter.java index 9253ede8..0d2c41e7 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/TestWriter.java +++ b/src/test/java/de/juplo/kafka/chat/backend/TestWriter.java @@ -42,9 +42,9 @@ public class TestWriter return i++; } }) + .delayElements(Duration.ofMillis(ThreadLocalRandom.current().nextLong(500, 1500))) .map(i -> "Message #" + i) .flatMap(message -> sendMessage(chatRoom, message) - .delayElement(Duration.ofMillis(ThreadLocalRandom.current().nextLong(500, 1500))) .retryWhen(Retry.fixedDelay(10, Duration.ofSeconds(1)))) .doOnNext(message -> { @@ -63,8 +63,10 @@ public class TestWriter user, e.getResponseBodyAsString(Charset.defaultCharset())); }) + .limitRate(1) .takeUntil(message -> !running) - .parallel() + .doOnComplete(() -> log.info("TestWriter {} is done", user)) + .parallel(1) .runOn(Schedulers.parallel()) .then(); } @@ -99,8 +101,8 @@ public class TestWriter private final WebClient webClient; private final ChatRoomInfoTo chatRoom; - private final User user; + final User user; final List sentMessages = new LinkedList<>(); volatile boolean running = true;