Spring for Apache Kafka

Authors

Gary Russell , Artem Bilan , Biju Kunjummen

2.0.0.M3

Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.


Table of Contents

1. Preface
2. What’s new?
2.1. What’s new in 2.0
2.1.1. Support for Transactions
2.1.2. Support for Headers
2.1.3. Support for Kafka timestamps
2.1.4. @KafkaListener Changes
2.1.5. Message Listeners
2.1.6. ConsumerAwareRebalanceListener
2.1.7. @EmbeddedKafka Annotation
2.1.8. Kerberos Configuration
3. Introduction
3.1. Quick Tour for the Impatient
3.1.1. Introduction
Compatibility
Very, Very Quick
With Java Configuration
Even Quicker, with Spring Boot
4. Reference
4.1. Using Spring for Apache Kafka
4.1.1. Sending Messages
KafkaTemplate
Transactions
4.1.2. Receiving Messages
Message Listeners
Message Listener Containers
@KafkaListener Annotation
Container Thread Naming
@KafkaListener on a class
Rebalance Listeners
Forwarding Listener Results using @SendTo
Filtering Messages
Retrying Deliveries
Detecting Idle Asynchronous Consumers
Topic/Partition Initial Offset
Seeking to a Specific Offset
4.1.3. Serialization/Deserialization and Message Conversion
4.1.4. Message Headers
4.1.5. Log Compaction
4.1.6. Handling Exceptions
4.1.7. Kerberos
4.2. Kafka Streams Support
4.2.1. Introduction
4.2.2. Basics
4.2.3. Spring Management
4.2.4. JSON Serdes
4.2.5. Configuration
4.2.6. Kafka Streams Example
4.3. Testing Applications
4.3.1. Introduction
4.3.2. JUnit
4.3.3. @EmbeddedKafka Annotation
4.3.4. Hamcrest Matchers
4.3.5. AssertJ Conditions
4.3.6. Example
5. Spring Integration
5.1. Spring Integration Kafka
5.1.1. Introduction
5.1.2. Outbound Channel Adapter
5.1.3. Message Driven Channel Adapter
5.1.4. Message Conversion
6. Other Resources
A. Change History
A.1. Changes between 1.0 and 1.1
A.1.1. Kafka Client
A.1.2. Batch Listeners
A.1.3. Null Payloads
A.1.4. Initial Offset
A.1.5. Seek