簡體   English   中英

版本升級后實現Consumer接口

[英]Implement Consumer interface after version upgrade

我有org.apache.kafka:kafka-clients:0.9.0.0-mapr-1801-streams-6.0.0舊項目,其中包含以下代碼:

public class KafkaMessageConsumer<T extends Message> extends DelegateConsumer<T> implements SubscribeAction {

  private static final Logger logger = LoggerFactory.getLogger(KafkaMessageConsumer.class);

  @Override
  public void createSubscriber(Subscribe subscribe, ClientConfig clientConfig) {
    ConfigurableConsumer<T> configurableConsumer = createConfigurableConsumer();
    ...............
  }

  ConfigurableConsumer<T> createConfigurableConsumer() {
    return new ConfigurableConsumer<>();
  }

}

遷移到org.apache.kafka:kafka-clients:1.1.1-mapr-1808-streams-6.1.0

我有:

public class KafkaMessageConsumer<T extends Message> extends DelegateConsumer<T> implements SubscribeAction {

  private static final Logger logger = LoggerFactory.getLogger(KafkaMessageConsumer.class);

  @Override
  public void createSubscriber(Subscribe subscribe, ClientConfig clientConfig) {
    ConfigurableConsumer<T> configurableConsumer = createConfigurableConsumer();
    .......
  }

  ConfigurableConsumer<T> createConfigurableConsumer() {
    return new ConfigurableConsumer<>();
  }

  @Override
  public void subscribe(Collection<String> topics) {
    
  }

  @Override
  public void subscribe(Collection<String> topics, ConsumerRebalanceListener callback) {

  }

  @Override
  public void assign(Collection<TopicPartition> partitions) {

  }

  @Override
  public void subscribe(Pattern pattern) {

  }

  @Override
  public void seekToBeginning(Collection<TopicPartition> partitions) {

  }

  @Override
  public void seekToEnd(Collection<TopicPartition> partitions) {

  }

  @Override
  public Set<TopicPartition> paused() {
    return null;
  }

  @Override
  public void pause(Collection<TopicPartition> partitions) {

  }

  @Override
  public void resume(Collection<TopicPartition> partitions) {

  }

  @Override
  public Map<TopicPartition, OffsetAndTimestamp> offsetsForTimes(Map<TopicPartition, Long> timestampsToSearch) {
    return null;
  }

  @Override
  public Map<TopicPartition, Long> beginningOffsets(Collection<TopicPartition> partitions) {
    return null;
  }

  @Override
  public Map<TopicPartition, Long> endOffsets(Collection<TopicPartition> partitions) {
    return null;
  }

  @Override
  public void close(long timeout, TimeUnit unit) {

  }
}

如您所見,我必須實現很多方法。 我讓它們空着會發生什么? 這會破壞整個應用程序嗎?

只要您留空的所有方法都未被您使用或不需要在其他任何地方使用,那么將方法留空不會破壞或影響應用程序中的任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM