I have old project with org.apache.kafka:kafka-clients:0.9.0.0-mapr-1801-streams-6.0.0
into which I have the following code:
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<>();
}
}
After migration to org.apache.kafka:kafka-clients:1.1.1-mapr-1808-streams-6.1.0
I have:
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) {
}
}
As you can see I have to implement a lot of methods. What will happen of I leave them empty? is this going to break the entire app?
只要您留空的所有方法都未被您使用或不需要在其他任何地方使用,那么将方法留空不会破坏或影响应用程序中的任何内容。
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.