import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.producer.ProducerConfig;
import java.util.*;

/** Prints the real default values compiled into kafka-clients (no broker needed). */
public class KafkaDefaults {
    public static void main(String[] args) {
        var prod = ProducerConfig.configDef().configKeys();
        var cons = ConsumerConfig.configDef().configKeys();
        System.out.println("producer");
        for (String k : List.of("acks", "enable.idempotence", "retries", "delivery.timeout.ms", "linger.ms",
                "batch.size", "max.in.flight.requests.per.connection", "compression.type"))
            System.out.printf("  %-45s %s%n", k, prod.get(k).defaultValue);
        System.out.println("consumer");
        for (String k : List.of("group.protocol", "session.timeout.ms", "heartbeat.interval.ms", "max.poll.interval.ms",
                "max.poll.records", "enable.auto.commit", "auto.offset.reset", "isolation.level", "fetch.min.bytes",
                "partition.assignment.strategy"))
            System.out.printf("  %-45s %s%n", k, cons.get(k).defaultValue);
    }
}
