Class DefaultKafkaConsumer<T>

  • All Implemented Interfaces:
    org.kie.hacep.core.infra.consumer.EventConsumer, org.kie.hacep.core.infra.election.LeadershipCallback

    public class DefaultKafkaConsumer<T>
    extends Object
    implements org.kie.hacep.core.infra.consumer.EventConsumer
    The default consumer relies on the Consumer thread and is based on the loop around poll method.
    • Field Detail

      • kafkaConsumer

        protected org.apache.kafka.clients.consumer.Consumer<String,​T> kafkaConsumer
      • kafkaSecondaryConsumer

        protected org.apache.kafka.clients.consumer.Consumer<String,​T> kafkaSecondaryConsumer
      • consumerHandler

        protected org.kie.hacep.consumer.DroolsConsumerHandler consumerHandler
      • envConfig

        protected org.kie.hacep.EnvConfig envConfig
      • producer

        protected org.kie.remote.impl.producer.Producer producer
      • consumerUtilsCore

        protected org.kie.hacep.util.ConsumerUtilsCore consumerUtilsCore
    • Constructor Detail

      • DefaultKafkaConsumer

        public DefaultKafkaConsumer()
      • DefaultKafkaConsumer

        public DefaultKafkaConsumer​(org.kie.hacep.EnvConfig config,
                                    org.kie.remote.impl.producer.Producer producer,
                                    SnapshotOnDemandUtils snapshotOnDemandUtils)
    • Method Detail

      • initKafkaConsumer

        public void initKafkaConsumer()
      • updateKafkaSecondaryConsumer

        public void updateKafkaSecondaryConsumer()
      • initConsumer

        public void initConsumer​(org.kie.hacep.core.infra.consumer.ConsumerHandler consumerHandler)
        Specified by:
        initConsumer in interface org.kie.hacep.core.infra.consumer.EventConsumer
      • restartConsumer

        protected void restartConsumer()
      • stop

        public void stop()
        Specified by:
        stop in interface org.kie.hacep.core.infra.consumer.EventConsumer
      • updateStatus

        public void updateStatus​(org.kie.hacep.core.infra.election.State state)
        Specified by:
        updateStatus in interface org.kie.hacep.core.infra.election.LeadershipCallback
      • askAndProcessSnapshotOnDemand

        protected boolean askAndProcessSnapshotOnDemand​(org.kie.hacep.core.infra.SnapshotInfos snapshotInfos)
      • assign

        protected void assign()
      • assignAsALeader

        protected void assignAsALeader()
      • assignReplica

        protected void assignReplica()
      • assignConsumer

        protected void assignConsumer​(org.apache.kafka.clients.consumer.Consumer<String,​T> kafkaConsumer,
                                      String topic)
      • poll

        public void poll()
        Specified by:
        poll in interface org.kie.hacep.core.infra.consumer.EventConsumer
      • updateOnRunningConsumer

        protected void updateOnRunningConsumer​(org.kie.hacep.core.infra.election.State state)
      • restart

        protected void restart​(org.kie.hacep.core.infra.election.State state)
      • enableConsumeAndStartLoop

        protected void enableConsumeAndStartLoop​(org.kie.hacep.core.infra.election.State state)
      • setLastProcessedKey

        protected void setLastProcessedKey()
      • settingsOnAEmptyControlTopic

        protected void settingsOnAEmptyControlTopic​(org.kie.remote.message.ControlMessage lastWrapper)
      • assignAndStartConsume

        protected void assignAndStartConsume()
      • consume

        protected void consume()
      • defaultProcessAsLeader

        protected void defaultProcessAsLeader()
      • processLeader

        protected void processLeader​(org.apache.kafka.clients.consumer.ConsumerRecord<String,​T> record)
      • consumeEventsFromBufferAsALeader

        protected void consumeEventsFromBufferAsALeader()
      • handleSnapshotBetweenIteration

        protected void handleSnapshotBetweenIteration​(org.apache.kafka.clients.consumer.ConsumerRecord<String,​T> record)
      • defaultProcessAsAReplica

        protected void defaultProcessAsAReplica()
      • consumeEventsFromBufferAsAReplica

        protected void consumeEventsFromBufferAsAReplica()
      • consumeControlFromBufferAsAReplica

        protected void consumeControlFromBufferAsAReplica()
      • processEventsAsAReplica

        protected void processEventsAsAReplica​(org.apache.kafka.clients.consumer.ConsumerRecord<String,​T> record)
      • processControlAsAReplica

        protected void processControlAsAReplica​(org.apache.kafka.clients.consumer.ConsumerRecord<String,​T> record)
      • saveOffset

        protected void saveOffset​(org.apache.kafka.clients.consumer.ConsumerRecord<String,​T> record,
                                  org.apache.kafka.clients.consumer.Consumer<String,​T> kafkaConsumer)
      • startConsume

        protected void startConsume()
      • stopConsume

        protected void stopConsume()
      • pollControl

        protected void pollControl()
      • pollEvents

        protected void pollEvents()