+ synchronized public Mono<Message> addMessage(
+ UUID id,
+ LocalDateTime timestamp,
+ String user,
+ String text)
+ {
+ return persistMessage(id, timestamp, user, text)
+ .doOnNext(message -> sink.tryEmitNext(message).orThrow());
+ }
+
+ private Mono<Message> persistMessage(