Kafka
authorKai Moritz <kai@juplo.de>
Sun, 22 Jan 2023 17:13:40 +0000 (18:13 +0100)
committerKai Moritz <kai@juplo.de>
Mon, 21 Aug 2023 18:39:42 +0000 (20:39 +0200)
commitad6962d25afbba2363b8ff8c35f3f433a99ac19d
tree0a4bc5d7f269b9b5129a40bab606c2608776b61a
parenta6b73917ab03690cd264b82c6539fe2a88f786fa
Kafka

Besser:

 - Create-Requests für ChatRoom's auch in den Message-Channel schreiben
 - Dann, wenn sie dort gelesen werden, _zusätzlich nachträglich_ in
   den Chatroom-Channel.
 - Grund: Dann fällt das hier übrig gebliebene _nicht-triviale_
   Problem weg, bzw. löst sich in Wohlgefallen auf, da die Create-Requests
   automatisch in der richtigen Reihenfolge (also vor allen Messages,
   für einen bestimmten ChatRoom) in dem Message-Channel gelesen werden

Außerdem:

 - Der Chatroom-Channel wird ("später") auch als allgemeiner Info-Channel
   benötigt, in den die Instanzen _insbesondere_ auch veröffentlichen,
   welche Partitionen ihnen gerade zugeordnet sind.
 - Der Chatroom-Channel sollte daher auf Dauer Info-Channel heißen und
   der Message-Channel eher allgemeiner Chatroom-Channel (im Sinne von
   hier alles zum Thema ChatRoom und den daran veröffentlichten
   Nachrichten...)

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

WIP

feat: Consumer subscribes in `KafkaServicesApplicationRunner`
19 files changed:
README.txt [new file with mode: 0644]
pom.xml
src/main/java/de/juplo/kafka/chat/backend/ChatBackendProperties.java
src/main/java/de/juplo/kafka/chat/backend/domain/ChatRoom.java
src/main/java/de/juplo/kafka/chat/backend/domain/ChatRoomFactory.java
src/main/java/de/juplo/kafka/chat/backend/persistence/inmemory/InMemoryChatRoomFactory.java
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/ChatRoomChannel.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatHome.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatRoomFactory.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaChatRoomService.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaServicesApplicationRunner.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/KafkaServicesConfiguration.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/LoadInProgressException.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/messages/AbstractMessageTo.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/messages/CommandCreateChatRoomTo.java [new file with mode: 0644]
src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/messages/EventChatMessageReceivedTo.java [new file with mode: 0644]
src/test/java/de/juplo/kafka/chat/backend/KafkaConfigurationIT.java [new file with mode: 0644]
src/test/java/de/juplo/kafka/chat/backend/persistence/kafka/messages/CommandCreateChatRoomToTest.java [new file with mode: 0644]
src/test/java/de/juplo/kafka/chat/backend/persistence/kafka/messages/EventChatMessageReceivedToTest.java [new file with mode: 0644]