X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fstorage%2Ffiles%2FFilesStorageStrategy.java;h=1de0b44541d5ec9d57eb203b3a92d19419d97477;hb=9531b3e0e1f90a0f85ec1dbb00ae2d206086cccc;hp=887aea24272e0fa8ba88c2e684a891da5edda028;hpb=992de79b80f78c6a57af4711d2a200073e8ca437;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/storage/files/FilesStorageStrategy.java b/src/main/java/de/juplo/kafka/chat/backend/storage/files/FilesStorageStrategy.java index 887aea24..1de0b445 100644 --- a/src/main/java/de/juplo/kafka/chat/backend/storage/files/FilesStorageStrategy.java +++ b/src/main/java/de/juplo/kafka/chat/backend/storage/files/FilesStorageStrategy.java @@ -7,8 +7,8 @@ import de.juplo.kafka.chat.backend.api.ChatRoomInfoTo; import de.juplo.kafka.chat.backend.api.MessageTo; import de.juplo.kafka.chat.backend.domain.ChatRoomInfo; import de.juplo.kafka.chat.backend.domain.Message; -import de.juplo.kafka.chat.backend.persistence.StorageStrategy; -import de.juplo.kafka.chat.backend.persistence.ShardingStrategy; +import de.juplo.kafka.chat.backend.implementation.StorageStrategy; +import de.juplo.kafka.chat.backend.implementation.ShardingStrategy; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import reactor.core.publisher.Flux; @@ -121,7 +121,9 @@ public class FilesStorageStrategy implements StorageStrategy @Override public void writeChatRoomData( UUID chatRoomId, - Flux messageFlux) + Flux messageFlux, + SuccessCallback successCallback, + FailureCallback failureCallback) { Path path = chatroomPath(chatRoomId); log.info("Writing messages for {} to {}", chatRoomId, path); @@ -172,10 +174,12 @@ public class FilesStorageStrategy implements StorageStrategy throw new RuntimeException(e); } }); + + successCallback.accept(chatRoomId); } catch (IOException e) { - throw new RuntimeException(e); + failureCallback.accept(chatRoomId, e); } }