mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2026-06-13 03:09:11 +00:00
Merge origin/develop into feature/distribution
- develop 브랜치의 최신 변경사항 병합 - .gradle 캐시 파일 충돌 해결 (삭제) - ParticipationServiceApplication.run.xml 충돌 해결 (develop 버전 선택) - make-run-profile.md 충돌 해결 (develop 버전 선택) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -5,10 +5,13 @@ import org.apache.kafka.common.serialization.StringSerializer;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.kafka.core.DefaultKafkaProducerFactory;
|
||||
import org.springframework.kafka.core.KafkaTemplate;
|
||||
import org.springframework.kafka.core.ProducerFactory;
|
||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@@ -23,24 +26,34 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
* @since 2025-10-23
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnProperty(name = "spring.kafka.enabled", havingValue = "true", matchIfMissing = true)
|
||||
@ConditionalOnProperty(name = "spring.kafka.enabled", havingValue = "true", matchIfMissing = false)
|
||||
public class KafkaConfig {
|
||||
|
||||
@Value("${spring.kafka.bootstrap-servers}")
|
||||
private static final Logger log = LoggerFactory.getLogger(KafkaConfig.class);
|
||||
|
||||
@Value("${spring.kafka.bootstrap-servers:localhost:9092}")
|
||||
private String bootstrapServers;
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public ProducerFactory<String, Object> producerFactory() {
|
||||
log.info("Initializing Kafka ProducerFactory with bootstrap servers: {}", bootstrapServers);
|
||||
|
||||
Map<String, Object> configProps = new HashMap<>();
|
||||
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
|
||||
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
|
||||
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class);
|
||||
configProps.put(JsonSerializer.ADD_TYPE_INFO_HEADERS, false);
|
||||
|
||||
log.debug("Kafka Producer Config: {}", configProps);
|
||||
|
||||
return new DefaultKafkaProducerFactory<>(configProps);
|
||||
}
|
||||
|
||||
@Bean
|
||||
@Primary
|
||||
public KafkaTemplate<String, Object> kafkaTemplate() {
|
||||
log.info("Creating KafkaTemplate with custom ProducerFactory");
|
||||
return new KafkaTemplate<>(producerFactory());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,15 +40,16 @@ spring:
|
||||
max-idle: 8
|
||||
min-idle: 2
|
||||
|
||||
# Disable security auto-configuration
|
||||
# Disable security and kafka auto-configuration
|
||||
autoconfigure:
|
||||
exclude:
|
||||
- org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
|
||||
- org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration
|
||||
- org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration
|
||||
|
||||
kafka:
|
||||
enabled: ${KAFKA_ENABLED:true}
|
||||
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS:4.230.50.63:9092}
|
||||
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS:20.249.182.13:9095,4.217.131.59:9095}
|
||||
producer:
|
||||
key-serializer: org.apache.kafka.common.serialization.StringSerializer
|
||||
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
|
||||
|
||||
Reference in New Issue
Block a user