mirror of
https://github.com/ktds-dg0501/kt-event-marketing.git
synced 2026-06-13 05:39:13 +00:00
Event Service 백엔드 테스트 완료
- 백엔드 API 테스트 완료 (8/8 성공) - Redis, PostgreSQL, Kafka 연동 검증 - ErrorHandlingDeserializer를 통한 Kafka Consumer 안정화 - 테스트 결과 보고서 작성 (develop/dev/test-backend.md) - 실행 프로파일 추가 (event-service/.run/) - 설정 일치 검증 완료 (application.yml ↔ run.xml)
This commit is contained in:
@@ -11,6 +11,7 @@ import org.springframework.kafka.annotation.EnableKafka;
|
||||
import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
|
||||
import org.springframework.kafka.core.*;
|
||||
import org.springframework.kafka.listener.ContainerProperties;
|
||||
import org.springframework.kafka.support.serializer.ErrorHandlingDeserializer;
|
||||
import org.springframework.kafka.support.serializer.JsonDeserializer;
|
||||
import org.springframework.kafka.support.serializer.JsonSerializer;
|
||||
|
||||
@@ -68,6 +69,7 @@ public class KafkaConfig {
|
||||
|
||||
/**
|
||||
* Kafka Consumer 설정
|
||||
* ErrorHandlingDeserializer를 사용하여 역직렬화 오류를 처리합니다.
|
||||
*
|
||||
* @return ConsumerFactory 인스턴스
|
||||
*/
|
||||
@@ -76,10 +78,20 @@ public class KafkaConfig {
|
||||
Map<String, Object> config = new HashMap<>();
|
||||
config.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
|
||||
config.put(ConsumerConfig.GROUP_ID_CONFIG, consumerGroupId);
|
||||
config.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
|
||||
config.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
|
||||
|
||||
// ErrorHandlingDeserializer로 래핑하여 역직렬화 오류 처리
|
||||
config.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, ErrorHandlingDeserializer.class);
|
||||
config.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, ErrorHandlingDeserializer.class);
|
||||
|
||||
// 실제 Deserializer 설정
|
||||
config.put(ErrorHandlingDeserializer.KEY_DESERIALIZER_CLASS, StringDeserializer.class);
|
||||
config.put(ErrorHandlingDeserializer.VALUE_DESERIALIZER_CLASS, JsonDeserializer.class);
|
||||
|
||||
// JsonDeserializer 설정
|
||||
config.put(JsonDeserializer.TRUSTED_PACKAGES, "*");
|
||||
config.put(JsonDeserializer.USE_TYPE_INFO_HEADERS, false);
|
||||
config.put(JsonDeserializer.VALUE_DEFAULT_TYPE, "java.util.HashMap");
|
||||
|
||||
config.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
|
||||
config.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
|
||||
|
||||
|
||||
@@ -9,8 +9,8 @@ spring:
|
||||
password: ${DB_PASSWORD:eventpass}
|
||||
driver-class-name: org.postgresql.Driver
|
||||
hikari:
|
||||
maximum-pool-size: 10
|
||||
minimum-idle: 5
|
||||
maximum-pool-size: 5
|
||||
minimum-idle: 2
|
||||
connection-timeout: 30000
|
||||
idle-timeout: 600000
|
||||
max-lifetime: 1800000
|
||||
@@ -22,9 +22,9 @@ spring:
|
||||
ddl-auto: ${DDL_AUTO:update}
|
||||
properties:
|
||||
hibernate:
|
||||
format_sql: true
|
||||
format_sql: false
|
||||
show_sql: false
|
||||
use_sql_comments: true
|
||||
use_sql_comments: false
|
||||
jdbc:
|
||||
batch_size: 20
|
||||
time_zone: Asia/Seoul
|
||||
@@ -40,9 +40,9 @@ spring:
|
||||
connect-timeout: 60000ms
|
||||
lettuce:
|
||||
pool:
|
||||
max-active: 10
|
||||
max-idle: 5
|
||||
min-idle: 2
|
||||
max-active: 5
|
||||
max-idle: 3
|
||||
min-idle: 1
|
||||
max-wait: -1ms
|
||||
shutdown-timeout: 200ms
|
||||
|
||||
@@ -96,15 +96,22 @@ management:
|
||||
logging:
|
||||
level:
|
||||
root: INFO
|
||||
com.kt.event: ${LOG_LEVEL:DEBUG}
|
||||
org.springframework: INFO
|
||||
org.springframework.data.redis: DEBUG
|
||||
io.lettuce.core: DEBUG
|
||||
org.hibernate.SQL: ${SQL_LOG_LEVEL:DEBUG}
|
||||
org.hibernate.type.descriptor.sql.BasicBinder: TRACE
|
||||
com.kt.event: ${LOG_LEVEL:INFO}
|
||||
org.springframework: WARN
|
||||
org.springframework.data.redis: WARN
|
||||
io.lettuce.core: WARN
|
||||
org.hibernate.SQL: ${SQL_LOG_LEVEL:WARN}
|
||||
org.hibernate.type.descriptor.sql.BasicBinder: WARN
|
||||
pattern:
|
||||
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
||||
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
||||
file:
|
||||
name: ${LOG_FILE:logs/event-service.log}
|
||||
logback:
|
||||
rollingpolicy:
|
||||
max-file-size: 10MB
|
||||
max-history: 7
|
||||
total-size-cap: 100MB
|
||||
|
||||
# Springdoc OpenAPI Configuration
|
||||
springdoc:
|
||||
|
||||
Reference in New Issue
Block a user