From 2d4e9a113b6701dade3b4fe7ed80afa6cf79bdba Mon Sep 17 00:00:00 2001 From: Soby Chacko Date: Mon, 5 Nov 2018 16:17:51 -0500 Subject: [PATCH] Use TopicExistsException in provisioner Instead of checking for the text TopicExistsException in the exception message, use strong type check for TopicExistsException through instanceof on the cause of the exception. Adding test to verify. Resolves #209 --- .../provisioning/KafkaTopicProvisioner.java | 4 ++-- .../stream/binder/kafka/KafkaBinderTests.java | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/spring-cloud-stream-binder-kafka-core/src/main/java/org/springframework/cloud/stream/binder/kafka/provisioning/KafkaTopicProvisioner.java b/spring-cloud-stream-binder-kafka-core/src/main/java/org/springframework/cloud/stream/binder/kafka/provisioning/KafkaTopicProvisioner.java index 3ac68c4b1..d4e1d0396 100644 --- a/spring-cloud-stream-binder-kafka-core/src/main/java/org/springframework/cloud/stream/binder/kafka/provisioning/KafkaTopicProvisioner.java +++ b/spring-cloud-stream-binder-kafka-core/src/main/java/org/springframework/cloud/stream/binder/kafka/provisioning/KafkaTopicProvisioner.java @@ -39,6 +39,7 @@ import org.apache.kafka.clients.admin.NewTopic; import org.apache.kafka.clients.admin.TopicDescription; import org.apache.kafka.common.KafkaFuture; import org.apache.kafka.common.PartitionInfo; +import org.apache.kafka.common.errors.TopicExistsException; import org.springframework.beans.factory.InitializingBean; import org.springframework.boot.autoconfigure.kafka.KafkaProperties; @@ -370,8 +371,7 @@ public class KafkaTopicProvisioner implements ProvisioningProvider