Skip to content

Commit 1583ce8

Browse files
garyrussellsnicoll
authored andcommitted
Add configuration property for Spring Kafka's missingTopicsFatal
See gh-16740
1 parent 68085c9 commit 1583ce8

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ private void configureContainer(ContainerProperties container) {
159159
.as(Number::intValue).to(container::setMonitorInterval);
160160
map.from(properties::getLogContainerConfig).to(container::setLogContainerConfig);
161161
map.from(this.transactionManager).to(container::setTransactionManager);
162+
map.from(properties::getMissingTopicsFatal).to(container::setMissingTopicsFatal);
162163
}
163164

164165
}

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,6 +873,11 @@ public enum Type {
873873
*/
874874
private Boolean logContainerConfig;
875875

876+
/**
877+
* Set to false to disable checking that topic(s) exist.
878+
*/
879+
private Boolean missingTopicsFatal;
880+
876881
public Type getType() {
877882
return this.type;
878883
}
@@ -961,6 +966,14 @@ public void setLogContainerConfig(Boolean logContainerConfig) {
961966
this.logContainerConfig = logContainerConfig;
962967
}
963968

969+
public Boolean getMissingTopicsFatal() {
970+
return this.missingTopicsFatal;
971+
}
972+
973+
public void setMissingTopicsFatal(Boolean missingTopicsFatal) {
974+
this.missingTopicsFatal = missingTopicsFatal;
975+
}
976+
964977
}
965978

966979
public static class Ssl {

spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,7 @@ public void listenerProperties() {
457457
"spring.kafka.listener.idle-event-interval=1s",
458458
"spring.kafka.listener.monitor-interval=45",
459459
"spring.kafka.listener.log-container-config=true",
460+
"spring.kafka.listener.missing-topics-fatal=false",
460461
"spring.kafka.jaas.enabled=true",
461462
"spring.kafka.producer.transaction-id-prefix=foo",
462463
"spring.kafka.jaas.login-module=foo",
@@ -491,6 +492,7 @@ public void listenerProperties() {
491492
.isEqualTo(1000L);
492493
assertThat(containerProperties.getMonitorInterval()).isEqualTo(45);
493494
assertThat(containerProperties.isLogContainerConfig()).isTrue();
495+
assertThat(containerProperties.isMissingTopicsFatal()).isFalse();
494496
assertThat(ReflectionTestUtils.getField(kafkaListenerContainerFactory,
495497
"concurrency")).isEqualTo(3);
496498
assertThat(kafkaListenerContainerFactory.isBatchListener()).isTrue();

0 commit comments

Comments
 (0)