X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2FTestListener.java;h=e413c52d267a1ff0033260fbc7c4c14a3ab9ab11;hb=53ecbc5e02e077692232d45ea62d236e1ec3abfb;hp=b74b8e8c94e4e4e8332db5568c7ec7ea6c103925;hpb=bde78d0ceb9f8a8dbdbe60a743e0004e70f57083;p=demos%2Fkafka%2Fchat diff --git a/src/test/java/de/juplo/kafka/chat/backend/TestListener.java b/src/test/java/de/juplo/kafka/chat/backend/TestListener.java index b74b8e8c..e413c52d 100644 --- a/src/test/java/de/juplo/kafka/chat/backend/TestListener.java +++ b/src/test/java/de/juplo/kafka/chat/backend/TestListener.java @@ -12,23 +12,24 @@ import org.springframework.http.codec.ServerSentEvent; import org.springframework.web.reactive.function.client.WebClient; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import reactor.core.scheduler.Schedulers; import java.util.*; @Slf4j -public class TestListener implements Runnable +public class TestListener { static final ParameterizedTypeReference> SSE_TYPE = new ParameterizedTypeReference<>() {}; - @Override - public void run() + public Mono run() { - Flux + return Flux .fromArray(chatRooms) .flatMap(chatRoom -> { + log.info("Requesting messages from chat-room {}", chatRoom); List list = new LinkedList<>(); receivedMessages.put(chatRoom.getId(), list); return receiveMessages(chatRoom) @@ -48,14 +49,17 @@ public class TestListener implements Runnable list.add(message); log.info( "Received a message from chat-room {}: {}", - chatRoom, + chatRoom.getName(), message); }) - .take(30); + .take(10); }) + .take(100) .takeUntil(message -> !running) - .then() - .block(); + .doOnComplete(() -> log.info("TestListener is done")) + .parallel(chatRooms.length) + .runOn(Schedulers.parallel()) + .then(); } Flux> receiveMessages(ChatRoomInfoTo chatRoom)