SpringSpring Kafka Configuration
How do you configure Kafka transactions in Spring Kafka?
Reference answer
Configure: spring.kafka.producer.transaction-id-prefix=tx-. Spring creates a KafkaTransactionManager. Use @Transactional on your service method — Spring coordinates the Kafka transaction with any Spring-managed transaction (e.g., DB). Or use kafkaTemplate.executeInTransaction(ops -> {...}). For exactly-once with consumer-producer chaining: configure ChainedKafkaTransactionManager. The transaction.id is suffixed with a unique instance ID to prevent zombie producers.
Expected key concepts: transaction-id-prefix, KafkaTransactionManager, @Transactional, executeInTransaction, ChainedKafkaTransactionManager, exactly-once, consumer-producer, zombie producers, instance ID