diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/BeanCopyUtils.java b/commons/common-util/src/main/java/com/schbrain/common/util/BeanCopyUtils.java
index 404edb64f00ba70e1dccd9e8d66dba71ef1e14d4..5d291af7acbc73b84e590436c2fecc6a123a3be7 100644
--- a/commons/common-util/src/main/java/com/schbrain/common/util/BeanCopyUtils.java
+++ b/commons/common-util/src/main/java/com/schbrain/common/util/BeanCopyUtils.java
@@ -17,7 +17,9 @@ import java.util.List;
/**
* 注意!!!此类是基于 cglib 实现的
+ *
* 默认的 cglib 只支持同名,同类型的属性转换,本类对此场景进行了增强,具体逻辑见 {@link DefaultConverter}
+ *
* 另外最重要的, cglib 是浅拷贝,意味着如果是引用类型,修改源对象会导致目标对象的值也被修改,使用时请注意!!!
*
* @author liaozan
diff --git a/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaAutoConfiguration.java b/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaAutoConfiguration.java
index 7fe4e82aeeff7b4abdcf2801e8cfb67858abd4b7..f6a2a1d406f2447b347f94c7dfc3d59361f3e1d6 100644
--- a/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaAutoConfiguration.java
+++ b/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaAutoConfiguration.java
@@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.kafka.config.KafkaListenerConfigUtils;
-import org.springframework.kafka.core.KafkaTemplate;
+import org.springframework.kafka.support.ProducerListener;
/**
* @author liaozan
@@ -22,9 +22,9 @@ public class KafkaAutoConfiguration {
}
@Bean
- @ConditionalOnMissingBean
- public KafkaMessageProducer defaultKafkaMessageProducer(KafkaTemplate kafkaTemplate) {
- return new KafkaMessageProducer(kafkaTemplate);
+ @ConditionalOnMissingBean(ProducerListener.class)
+ public KafkaLoggingProducerListener kafkaLoggingProducerListener() {
+ return new KafkaLoggingProducerListener();
}
}
diff --git a/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaLoggingProducerListener.java b/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaLoggingProducerListener.java
new file mode 100644
index 0000000000000000000000000000000000000000..37b0e513f97ad297e305efd1be9a18d61be3c2b1
--- /dev/null
+++ b/starters/kafka-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/kafka/KafkaLoggingProducerListener.java
@@ -0,0 +1,30 @@
+package com.schbrain.framework.autoconfigure.kafka;
+
+import lombok.extern.slf4j.Slf4j;
+import org.apache.kafka.clients.producer.ProducerRecord;
+import org.apache.kafka.clients.producer.RecordMetadata;
+import org.springframework.kafka.support.LoggingProducerListener;
+
+/**
+ * @author liaozan
+ * @since 2023/7/26
+ */
+@Slf4j
+public class KafkaLoggingProducerListener extends LoggingProducerListener