X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2Fkafka%2FChatRoomLoadingMessageHandlingStrategy.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2Fchat%2Fbackend%2Fpersistence%2Fkafka%2FChatRoomLoadingMessageHandlingStrategy.java;h=af99b8092956c9d2d95e71809210ad48e42023c5;hb=8b014ac173a4bba2163dadd50a1e443b85895e10;hp=0000000000000000000000000000000000000000;hpb=849d829f8cb7f71d04f161b146763e0c5590353d;p=demos%2Fkafka%2Fchat diff --git a/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/ChatRoomLoadingMessageHandlingStrategy.java b/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/ChatRoomLoadingMessageHandlingStrategy.java new file mode 100644 index 00000000..af99b809 --- /dev/null +++ b/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/ChatRoomLoadingMessageHandlingStrategy.java @@ -0,0 +1,35 @@ +package de.juplo.kafka.chat.backend.persistence.kafka; + +import de.juplo.kafka.chat.backend.domain.Message; +import org.apache.kafka.clients.consumer.Consumer; +import org.apache.kafka.common.TopicPartition; + + +class ChatRoomLoadingMessageHandlingStrategy implements MessageHandlingStrategy +{ + private final Consumer consumer; + private final TopicPartition tp; + private final long currentOffset; + private final long unseenOffset; + + ChatRoomLoadingMessageHandlingStrategy( + Consumer consumer, + TopicPartition tp, + long currentOffset, + long unseenOffset) + { + this.consumer = consumer; + this.tp = tp; + this.currentOffset = currentOffset; + this.unseenOffset = unseenOffset; + + consumer.seek(tp, unseenOffset); + } + + @Override + public MessageHandlingStrategy handleMessage(Message message) + { + // todo + return this; + } +}