Kafka
authorKai Moritz <kai@juplo.de>
Sun, 22 Jan 2023 17:13:40 +0000 (18:13 +0100)
committerKai Moritz <kai@juplo.de>
Wed, 23 Aug 2023 05:37:03 +0000 (07:37 +0200)
commita5954e523caeb13769b17e4c9205306bcc92fe7b
tree6e3c58babb87c29d4274e1262ee8eea4adbcb6f6
parent0ff0e013a3d1f112f8e8c7280a4948ce0662eb10
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]