diff --git a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java index 6b8e1a39a..393dc983a 100644 --- a/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java +++ b/spring-cloud-stream-binders/spring-cloud-stream-binder-kafka/src/main/java/org/springframework/cloud/stream/binder/kafka/KafkaMessageChannelBinder.java @@ -100,6 +100,7 @@ import org.springframework.retry.RetryOperations; import org.springframework.retry.backoff.ExponentialBackOffPolicy; import org.springframework.retry.policy.SimpleRetryPolicy; import org.springframework.retry.support.RetryTemplate; +import org.springframework.scheduling.concurrent.CustomizableThreadFactory; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.util.ObjectUtils; @@ -125,7 +126,13 @@ public class KafkaMessageChannelBinder public static final ByteArraySerializer BYTE_ARRAY_SERIALIZER = new ByteArraySerializer(); - public static final DaemonThreadFactory DAEMON_THREAD_FACTORY = new DaemonThreadFactory(); + public static final ThreadFactory DAEMON_THREAD_FACTORY; + + static { + CustomizableThreadFactory threadFactory = new CustomizableThreadFactory("kafka-binder-"); + threadFactory.setDaemon(true); + DAEMON_THREAD_FACTORY = threadFactory; + } private boolean autoCreateTopics = true; @@ -773,16 +780,6 @@ public class KafkaMessageChannelBinder } } - private static class DaemonThreadFactory implements ThreadFactory { - - @Override - public Thread newThread(Runnable r) { - Thread thread = new Thread(r, "kafka-binder-"); - thread.setDaemon(true); - return thread; - } - } - private final class ReceivingHandler extends AbstractReplyProducingMessageHandler { private final ExtendedConsumerProperties consumerProperties;