Проверка сообщения Kafka в ErrorHandlingDeserializerJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проверка сообщения Kafka в ErrorHandlingDeserializer

Сообщение Anonymous »

Я не понимаю, как его настроить для проверки сообщения в ErrorHandlingDeserializer.
spring:
json:
use:
type:
headers: false
kafka:
consumer:
key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
properties:
spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer
spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer
spring.deserializer.validator.class: org.springframework.validation.beanvalidation.LocalValidatorFactoryBean

Но LocalValidatorFactoryBean не проверяет сообщение с помощью jakarta.validation.constraints.
Как настроить его с помощью ErrorHandlingDeserializer?
Или есть только один способ добавить валидатор?
@Configuration
@RequiredArgsConstructor
public class KafkaListenerConfig implements KafkaListenerConfigurer {

private final LocalValidatorFactoryBean validator;

@Override
public void configureKafkaListeners(KafkaListenerEndpointRegistrar registrar) {
registrar.setValidator(this.validator);
}
}

Простая проверка Bean (добавление валидатора к регистратору) работает, но только при простом потреблении
@KafkaListener(id = "businessListener", topics = "${app.topic}", batch = "true", idIsGroup = false)
void listen(List business) {
// not validated

}

@KafkaListener(id = "businessListener", topics = "${app.topic}", idIsGroup = false)
void listen(@Valid Business business) {
// validated
}


Подробнее здесь: https://stackoverflow.com/questions/789 ... serializer
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»