Kafka поддерживает концепцию перехватчиков, которые находятся между Kafka и процессом, который потребляет или производит записи, так что записи, которые считываются или записываются в Kafka, могут быть видоизменены или могут быть выполнены пользовательские записи в журнал.
Из того, что я вижу, ConsumerInterceptor позволяет фильтровать записи, так как он возвращает объект ConsumerRecords , и реализация может удалять (т.е. подвергать цензуре) элементы из класса контейнера до того, какпередача записей потребителю.
A ProducerInterceptor только принимает и возвращает ProducerRecord , а не что-то вроде Optional<ProducerRecord>
.Что произойдет, если запись, возвращаемая этим методом, будет нулевой?Вариант использования состоит в том, чтобы предотвратить запись записей в Kafka. Поддерживается ли это простым отбрасыванием записываемых записей, возвращая значение null, или придется изменить объект ввода и обнулить его поля?