package de.juplo.kafka.chat.backend.persistence.kafka;
import de.juplo.kafka.chat.backend.domain.Message;
-import de.juplo.kafka.chat.backend.domain.MessageMutationException;
import lombok.RequiredArgsConstructor;
-import lombok.extern.log4j.Log4j;
+import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.TopicPartition;
@RequiredArgsConstructor
-@Log4j
+@Slf4j
class ChatRoomActiveMessageHandlingStrategy implements MessageHandlingStrategy
{
+ private final KafkaChatRoomService kafkaChatRoomService;
private final Producer<String, MessageTo> producer;
private final TopicPartition tp;
private final UUID chatRoomId;
@Override
- public Mono<Message> persistMessage(
+ public Mono<Message> handleMessage(
Message.MessageKey key,
LocalDateTime timestamp,
String text)
// On successful send
{
// Emit new message
- message = new Message(key, metadata.offset(), timestamp, text);
- messages.put(message.getKey(), message);
+ Message message = new Message(key, metadata.offset(), timestamp, text);
+ kafkaChatRoomService.addMessage(message);
}
sink.success();
}));
});
}
-
- @Override
- public MessageHandlingStrategy handleMessage(Message message)
- {
- }
}