- @GetMapping(
- path = "listen/{chatroomId}",
- produces = MediaType.TEXT_EVENT_STREAM_VALUE)
- public Flux<MessageTo> listen(@PathVariable UUID chatroomId)
+ @GetMapping(path = "{chatroomId}/listen")
+ public Flux<ServerSentEvent<MessageTo>> listen(@PathVariable UUID chatroomId)
+ {
+ return chatHomes[selectShard(chatroomId)]
+ .getChatRoom(chatroomId)
+ .flatMapMany(chatroom -> listen(chatroom));
+ }
+
+ private Flux<ServerSentEvent<MessageTo>> listen(ChatRoom chatroom)