diff --git a/spring-kafka/src/main/java/org/springframework/kafka/annotation/KafkaListenerAnnotationBeanPostProcessor.java b/spring-kafka/src/main/java/org/springframework/kafka/annotation/KafkaListenerAnnotationBeanPostProcessor.java index 5e016c2366..1a2c89a789 100644 --- a/spring-kafka/src/main/java/org/springframework/kafka/annotation/KafkaListenerAnnotationBeanPostProcessor.java +++ b/spring-kafka/src/main/java/org/springframework/kafka/annotation/KafkaListenerAnnotationBeanPostProcessor.java @@ -665,6 +665,8 @@ private void processKafkaListenerAnnotation(MethodKafkaListenerEndpoint en endpoint.setBean(bean); endpoint.setMessageHandlerMethodFactory(this.messageHandlerMethodFactory); endpoint.setGroupId(getEndpointGroupId(kafkaListener, endpoint.getId())); + + Assert.state((topics.length > 0) ^ (tps.length > 0), "Only one of @Topic or @TopicPartition is allowed"); endpoint.setTopicPartitions(tps); endpoint.setTopics(topics); endpoint.setTopicPattern(resolvePattern(kafkaListener));