projects
/
demos
/
kafka
/
chat
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
WIP - Ein Versuch (vielleicht Unsinn)
[demos/kafka/chat]
/
src
/
main
/
java
/
de
/
juplo
/
kafka
/
chat
/
backend
/
storage
/
mongodb
/
MongoDbStorageStrategy.java
diff --git
a/src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
b/src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
index
5f46e3c
..
1d742a5
100644
(file)
--- a/
src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
+++ b/
src/main/java/de/juplo/kafka/chat/backend/storage/mongodb/MongoDbStorageStrategy.java
@@
-2,8
+2,8
@@
package de.juplo.kafka.chat.backend.storage.mongodb;
import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
import de.juplo.kafka.chat.backend.domain.Message;
import de.juplo.kafka.chat.backend.domain.ChatRoomInfo;
import de.juplo.kafka.chat.backend.domain.Message;
-import de.juplo.kafka.chat.backend.
persistence
.ShardingStrategy;
-import de.juplo.kafka.chat.backend.
persistence
.StorageStrategy;
+import de.juplo.kafka.chat.backend.
implementation
.ShardingStrategy;
+import de.juplo.kafka.chat.backend.
implementation
.StorageStrategy;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Flux;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Flux;
@@
-25,29
+25,17
@@
public class MongoDbStorageStrategy implements StorageStrategy
{
chatRoomInfoFlux
.map(ChatRoomTo::from)
{
chatRoomInfoFlux
.map(ChatRoomTo::from)
- .
subscribe
(chatroomTo -> chatRoomRepository.save(chatroomTo));
+ .
flatMap
(chatroomTo -> chatRoomRepository.save(chatroomTo));
}
@Override
public Flux<ChatRoomInfo> readChatRoomInfo()
{
}
@Override
public Flux<ChatRoomInfo> readChatRoomInfo()
{
- return Flux
- .fromIterable(chatRoomRepository.findAll())
+ return chatRoomRepository.findAll()
.map(chatRoomTo ->
{
UUID chatRoomId = UUID.fromString(chatRoomTo.getId());
.map(chatRoomTo ->
{
UUID chatRoomId = UUID.fromString(chatRoomTo.getId());
- int shard = shardingStrategy.selectShard(chatRoomId);
-
- log.info(
- "{} - old shard: {}, new shard: {}",
- chatRoomId,
- chatRoomTo.getShard(),
- shard);
-
- return new ChatRoomInfo(
- chatRoomId,
- chatRoomTo.getName(),
- shard);
+ return new ChatRoomInfo(chatRoomId, chatRoomTo.getName(), null);
});
}
});
}
@@
-56,14
+44,14
@@
public class MongoDbStorageStrategy implements StorageStrategy
{
messageFlux
.map(message -> MessageTo.from(chatRoomId, message))
{
messageFlux
.map(message -> MessageTo.from(chatRoomId, message))
- .subscribe(messageTo -> messageRepository.save(messageTo));
+ .flatMap(messageTo -> messageRepository.save(messageTo))
+ .subscribe();
}
@Override
public Flux<Message> readChatRoomData(UUID chatRoomId)
{
}
@Override
public Flux<Message> readChatRoomData(UUID chatRoomId)
{
- return Flux
- .fromIterable(messageRepository.findByChatRoomIdOrderBySerialAsc(chatRoomId.toString()))
+ return messageRepository.findByChatRoomIdOrderBySerialAsc(chatRoomId.toString())
.map(messageTo -> messageTo.toMessage());
}
}
.map(messageTo -> messageTo.toMessage());
}
}