Spring Boot: обмен сообщениями, дополнительные свойства Kafka

Свойства, поддерживаемые автоматической настройкой по большей части (дефис или camelCase) отображаются напрямую в точечные свойства Apache Kafka.

Первые несколько из этих свойств применяются ко всем компонентам (производителям (producers), потребителям (consumers), администраторам (admins) и потокам (streams)), но могут быть указаны на уровне компонентов, если вы хотите использовать другие значения. Apache Kafka обозначает свойства со значением HIGH, MEDIUM или LOW. Автоконфигурация Spring Boot поддерживает все свойства HIGH важности, некоторые выбранные свойства MEDIUM и LOW и любые свойства, которые не имеют значения по умолчанию.

Только подмножество свойств, поддерживаемых Kafka, доступно непосредственно через класс KafkaProperties. Если вы хотите настроить производителя или потребителя с дополнительными свойствами, которые не поддерживаются напрямую, используйте следующие свойства:

spring.kafka.properties.prop.one=first
spring.kafka.admin.properties.prop.two=second
spring.kafka.consumer.properties.prop.three=third
spring.kafka.producer.properties.prop.four=fourth
spring.kafka.streams.properties.prop.five=fifth

Это устанавливает общее свойство prop.one Kafka равным first (применяется к производителям, потребителям и администраторам), свойство admin prop.two равным second, свойство consumer prop.three равным third, свойство producer prop.four равным fourth и свойство prop.five streams равным fifth.

Вы также можете настроить Spring Kafka JsonDeserializer следующим образом:

spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
spring.kafka.consumer.properties.spring.json.value.default.type=com.example.Invoice
spring.kafka.consumer.properties.spring.json.trusted.packages=com.example,org.acme

Точно так же вы можете отключить поведение JsonSerializer по умолчанию для отправки информации о типе в заголовках:

spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer
spring.kafka.producer.properties.spring.json.add.type.headers=false

Свойства, установленные таким образом, переопределяют любой элемент конфигурации, который явно поддерживается Spring Boot.


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки