test: HandoverIT-POC - not working fix: using `delay()`
[demos/kafka/chat] / src / test / java / de / juplo / kafka / chat / backend / TestWriter.java
index 8f7bc81..133a768 100644 (file)
@@ -43,9 +43,9 @@ public class TestWriter
           }
         })
         .map(i -> "Message #" + i)
-        .flatMap(message -> sendMessage(chatRoom, message)
-            .delayElement(Duration.ofMillis(ThreadLocalRandom.current().nextLong(500, 1500)))
-            .retryWhen(Retry.fixedDelay(10, Duration.ofSeconds(1))))
+        .flatMap(message -> Mono
+            .delay(Duration.ofMillis(ThreadLocalRandom.current().nextLong(500, 1500)))
+            .thenMany(sendMessage(chatRoom, message).retryWhen(Retry.fixedDelay(10, Duration.ofSeconds(1)))))
         .doOnNext(message ->
         {
           sentMessages.add(message);
@@ -63,6 +63,7 @@ public class TestWriter
               user,
               e.getResponseBodyAsString(Charset.defaultCharset()));
         })
+        .limitRate(1)
         .takeUntil(message -> !running)
         .doOnComplete(() -> log.info("TestWriter {} is done", user))
         .parallel(1)