X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fstorage%2Fmongodb%2FMongoDbStorageStrategy.java;h=972122e0e6efcee0b4cc021299e0fd72f2d95b84;hb=9fbb1a24b8c62619f8e51c5575b70b66fcd99ff8;hp=3eb90960f6af9c2544c0d81764509426ebe396f3;hpb=cc38c4721e5076970d5dcea57dbd066906f0f3da;p=demos%2Fkafka%2Fchat 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 3eb90960..972122e0 100644 --- 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 @@ -36,15 +36,21 @@ public class MongoDbStorageStrategy implements StorageStrategy .map(chatRoomTo -> { UUID chatRoomId = UUID.fromString(chatRoomTo.getId()); - return new ChatRoomInfo(chatRoomId, chatRoomTo.getName()); + return new ChatRoomInfo(chatRoomId, chatRoomTo.getName(), null); }); } @Override - public void writeChatRoomData(UUID chatRoomId, Flux messageFlux) + public void writeChatRoomData( + UUID chatRoomId, + Flux messageFlux, + SuccessCallback successCallback, + FailureCallback failureCallback) { messageFlux .map(message -> MessageTo.from(chatRoomId, message)) + .doOnComplete(() -> successCallback.accept(chatRoomId)) + .doOnError(throwable -> failureCallback.accept(chatRoomId, throwable)) .subscribe(messageTo -> messageRepository.save(messageTo)); }