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;
@Override
public void writeChatRoomData(
UUID chatRoomId,
- Flux<Message> messageFlux)
+ Flux<Message> messageFlux,
+ SuccessCallback successCallback,
+ FailureCallback failureCallback)
{
Path path = chatroomPath(chatRoomId);
log.info("Writing messages for {} to {}", chatRoomId, path);
throw new RuntimeException(e);
}
});
+
+ successCallback.accept(chatRoomId);
}
catch (IOException e)
{
- throw new RuntimeException(e);
+ failureCallback.accept(chatRoomId, e);
}
}