From 695685996a6479bd85b892a43e3173f7555ef727 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Sat, 12 Mar 2022 12:03:26 +0100 Subject: [PATCH] Start building against Spring Kafka 2.8.4 snapshots See gh-30190 --- ...fkaListenerContainerFactoryConfigurer.java | 1 + .../autoconfigure/kafka/KafkaProperties.java | 4 ++++ .../kafka/KafkaAutoConfigurationTests.java | 23 +++++++++++++------ .../kafka/KafkaPropertiesTests.java | 3 +-- .../spring-boot-dependencies/build.gradle | 2 +- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java index f8d24a790ad..2f3f56841f3 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java @@ -189,6 +189,7 @@ public class ConcurrentKafkaListenerContainerFactoryConfigurer { map.from(this.recordInterceptor).to(factory::setRecordInterceptor); } + @SuppressWarnings("deprecation") private void configureContainer(ContainerProperties container) { PropertyMapper map = PropertyMapper.get().alwaysApplyingWhenNonNull(); Listener properties = this.properties.getListener(); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java index 3d15670cef2..e109753d736 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java @@ -34,6 +34,7 @@ import org.apache.kafka.common.serialization.StringDeserializer; import org.apache.kafka.common.serialization.StringSerializer; import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.boot.context.properties.DeprecatedConfigurationProperty; import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.boot.context.properties.source.MutuallyExclusiveConfigurationPropertiesException; import org.springframework.boot.convert.DurationUnit; @@ -1056,10 +1057,13 @@ public class KafkaProperties { this.logContainerConfig = logContainerConfig; } + @Deprecated + @DeprecatedConfigurationProperty(reason = "Use KafkaUtils#setConsumerRecordFormatter instead.") public boolean isOnlyLogRecordMetadata() { return this.onlyLogRecordMetadata; } + @Deprecated public void setOnlyLogRecordMetadata(boolean onlyLogRecordMetadata) { this.onlyLogRecordMetadata = onlyLogRecordMetadata; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java index 12f98a78241..770d3d746c1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java @@ -390,12 +390,11 @@ class KafkaAutoConfigurationTests { "spring.kafka.listener.type=batch", "spring.kafka.listener.idle-between-polls=1s", "spring.kafka.listener.idle-event-interval=1s", "spring.kafka.listener.idle-partition-event-interval=1s", "spring.kafka.listener.monitor-interval=45", - "spring.kafka.listener.log-container-config=true", - "spring.kafka.listener.only-log-record-metadata=true", - "spring.kafka.listener.missing-topics-fatal=true", "spring.kafka.jaas.enabled=true", - "spring.kafka.listener.immediate-stop=true", "spring.kafka.producer.transaction-id-prefix=foo", - "spring.kafka.jaas.login-module=foo", "spring.kafka.jaas.control-flag=REQUISITE", - "spring.kafka.jaas.options.useKeyTab=true").run((context) -> { + "spring.kafka.listener.log-container-config=true", "spring.kafka.listener.missing-topics-fatal=true", + "spring.kafka.jaas.enabled=true", "spring.kafka.listener.immediate-stop=true", + "spring.kafka.producer.transaction-id-prefix=foo", "spring.kafka.jaas.login-module=foo", + "spring.kafka.jaas.control-flag=REQUISITE", "spring.kafka.jaas.options.useKeyTab=true") + .run((context) -> { DefaultKafkaProducerFactory producerFactory = context .getBean(DefaultKafkaProducerFactory.class); DefaultKafkaConsumerFactory consumerFactory = context @@ -420,7 +419,6 @@ class KafkaAutoConfigurationTests { assertThat(containerProperties.getIdlePartitionEventInterval()).isEqualTo(1000L); assertThat(containerProperties.getMonitorInterval()).isEqualTo(45); assertThat(containerProperties.isLogContainerConfig()).isTrue(); - assertThat(containerProperties.isOnlyLogRecordMetadata()).isTrue(); assertThat(containerProperties.isMissingTopicsFatal()).isTrue(); assertThat(containerProperties.isStopImmediate()).isTrue(); assertThat(kafkaListenerContainerFactory).extracting("concurrency").isEqualTo(3); @@ -436,6 +434,17 @@ class KafkaAutoConfigurationTests { }); } + @Test + @Deprecated + void logOnlyRecordMetadataProperty() { + this.contextRunner.withPropertyValues("spring.kafka.listener.only-log-record-metadata=true").run((context) -> { + AbstractKafkaListenerContainerFactory kafkaListenerContainerFactory = (AbstractKafkaListenerContainerFactory) context + .getBean(KafkaListenerContainerFactory.class); + ContainerProperties containerProperties = kafkaListenerContainerFactory.getContainerProperties(); + assertThat(containerProperties.isOnlyLogRecordMetadata()).isTrue(); + }); + } + @Test void testKafkaTemplateRecordMessageConverters() { this.contextRunner.withUserConfiguration(MessageConverterConfiguration.class) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaPropertiesTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaPropertiesTests.java index 189073952c2..620e0b25eaf 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaPropertiesTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaPropertiesTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -55,7 +55,6 @@ class KafkaPropertiesTests { void listenerDefaultValuesAreConsistent() { ContainerProperties container = new ContainerProperties("test"); Listener listenerProperties = new KafkaProperties().getListener(); - assertThat(listenerProperties.isOnlyLogRecordMetadata()).isEqualTo(container.isOnlyLogRecordMetadata()); assertThat(listenerProperties.isMissingTopicsFatal()).isEqualTo(container.isMissingTopicsFatal()); } diff --git a/spring-boot-project/spring-boot-dependencies/build.gradle b/spring-boot-project/spring-boot-dependencies/build.gradle index 94d2770ad4d..3cb6eb0a0e7 100644 --- a/spring-boot-project/spring-boot-dependencies/build.gradle +++ b/spring-boot-project/spring-boot-dependencies/build.gradle @@ -1704,7 +1704,7 @@ bom { ] } } - library("Spring Kafka", "2.8.3") { + library("Spring Kafka", "2.8.4-SNAPSHOT") { group("org.springframework.kafka") { modules = [ "spring-kafka",