projects
/
demos
/
kafka
/
chat
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DIRTYFIX:subscribe
[demos/kafka/chat]
/
src
/
test
/
java
/
de
/
juplo
/
kafka
/
chat
/
backend
/
TestListener.java
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
b74b8e8
..
f01e9b5
100644
(file)
--- 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 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
import java.util.*;
@Slf4j
-public class TestListener
implements Runnable
+public class TestListener
{
static final ParameterizedTypeReference<ServerSentEvent<String>> SSE_TYPE = new ParameterizedTypeReference<>() {};
{
static final ParameterizedTypeReference<ServerSentEvent<String>> SSE_TYPE = new ParameterizedTypeReference<>() {};
- @Override
- public void run()
+ public Flux<MessageTo> run()
{
{
- Flux
+
return
Flux
.fromArray(chatRooms)
.flatMap(chatRoom ->
{
.fromArray(chatRooms)
.flatMap(chatRoom ->
{
+ log.info("Requesting messages from chat-room {}", chatRoom);
List<MessageTo> list = new LinkedList<>();
receivedMessages.put(chatRoom.getId(), list);
return receiveMessages(chatRoom)
List<MessageTo> list = new LinkedList<>();
receivedMessages.put(chatRoom.getId(), list);
return receiveMessages(chatRoom)
@@
-48,14
+49,12
@@
public class TestListener implements Runnable
list.add(message);
log.info(
"Received a message from chat-room {}: {}",
list.add(message);
log.info(
"Received a message from chat-room {}: {}",
- chatRoom,
+ chatRoom
.getName()
,
message);
message);
- })
- .take(30);
+ });
})
.takeUntil(message -> !running)
})
.takeUntil(message -> !running)
- .then()
- .block();
+ .doOnComplete(() -> log.info("TestListener is done"));
}
Flux<ServerSentEvent<String>> receiveMessages(ChatRoomInfoTo chatRoom)
}
Flux<ServerSentEvent<String>> receiveMessages(ChatRoomInfoTo chatRoom)