fix: The sink is recreated, if it gets canceled
authorKai Moritz <kai@juplo.de>
Sat, 7 Jan 2023 01:16:57 +0000 (02:16 +0100)
committerKai Moritz <kai@juplo.de>
Sun, 15 Jan 2023 18:35:59 +0000 (19:35 +0100)
commit985e677499e8a3a6efcfbf3b3a4c90181194ff27
treeeb2e2c12cb1300c8f3506d6b7a5d2b144a2994b7
parent96a99d5525135668b37d88f807c8c6f0a929f94f
fix: The sink is recreated, if it gets canceled

- The sink is automatically cancelled, if the last consumer leaves.
- Turning auto-cancel of, is not an option, because this buffers new
  messages, until the buffer overflows, after which new messages are
  droped. Hence, if a new subscriber arrives, it would see some old
  messages and then, after a gap, current messages.
- Because of that, the sink is now automatically recreated, if the
  last subscriber leaves and triggers the automatically cancelation
  of the sink.
- The sink can be recreated without conflicts, because all methods,
  that may access the sink are synchronized.
src/main/java/de/juplo/kafka/chat/backend/domain/Chatroom.java