Skip to content

Commit 305728e

Browse files
committed
refactor: scheduler 주입으로 변경 및 예약 취소 시간 container에서 처리하도록 변경
1 parent eff8215 commit 305728e

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

src/main/java/com/thirdparty/ticketing/global/config/ReservationServiceContainer.java

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
package com.thirdparty.ticketing.global.config;
22

3+
import java.util.concurrent.Executors;
4+
import java.util.concurrent.ScheduledExecutorService;
5+
36
import org.redisson.api.RedissonClient;
47
import org.springframework.beans.factory.annotation.Qualifier;
8+
import org.springframework.beans.factory.annotation.Value;
59
import org.springframework.context.annotation.Bean;
610
import org.springframework.context.annotation.Configuration;
711
import org.springframework.context.annotation.Primary;
@@ -23,13 +27,18 @@
2327
@Configuration
2428
public class ReservationServiceContainer {
2529

30+
@Value("${ticketing.reservation.release-delay-seconds}")
31+
private int reservationReleaseDelay;
32+
33+
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(5);
34+
2635
@Bean
2736
@Primary
2837
public ReservationService newRedisReservationService(
2938
MemberRepository memberRepository,
3039
SeatRepository seatRepository,
3140
StringRedisTemplate redisTemplate) {
32-
return new NewRedisReservationService(memberRepository, seatRepository, redisTemplate);
41+
return new NewRedisReservationService(memberRepository, seatRepository, redisTemplate, reservationReleaseDelay);
3342
}
3443

3544

@@ -80,7 +89,10 @@ public ReservationTransactionService cacheReservationTransactionService(
8089
paymentProcessor,
8190
lockSeatStrategy,
8291
eventPublisher,
83-
reservationManager);
92+
reservationManager,
93+
reservationReleaseDelay,
94+
scheduler
95+
);
8496
}
8597

8698
@Bean
@@ -98,7 +110,10 @@ public ReservationTransactionService persistenceOptimisticReservationService(
98110
paymentProcessor,
99111
lockSeatStrategy,
100112
eventPublisher,
101-
reservationManager);
113+
reservationManager,
114+
reservationReleaseDelay,
115+
scheduler
116+
);
102117
}
103118

104119
@Bean
@@ -116,6 +131,9 @@ public ReservationTransactionService persistencePessimisticReservationService(
116131
paymentProcessor,
117132
lockSeatStrategy,
118133
eventPublisher,
119-
reservationManager);
134+
reservationManager,
135+
reservationReleaseDelay,
136+
scheduler
137+
);
120138
}
121139
}

0 commit comments

Comments
 (0)