Compare commits

..

3 Commits

Author SHA1 Message Date
dongHyo
9875de4896 fix: @TicketLock annotations delete 2022-08-01 20:56:48 +09:00
dongHyo
af5aa05b9e refactor: aop 를 통한 lock 검증 메서드 분리 2022-08-01 17:22:13 +09:00
dongHyo
3e65a3a2e7 feat: 티켓 구매, 환불 메서드 분산 락 적용 2022-07-22 14:52:44 +09:00
8 changed files with 5 additions and 79 deletions

View File

@@ -1,12 +0,0 @@
FROM openjdk:11-jre-slim
ENV APP_HOME=/usr/app/
WORKDIR $APP_HOME
COPY build/libs/server-0.0.1-SNAPSHOT.jar application.jar
EXPOSE 8443
EXPOSE 8080
CMD ["java", "-jar", "application.jar"]

View File

@@ -43,8 +43,6 @@ dependencies {
implementation("com.google.code.findbugs:jsr305:3.0.2")
implementation ("org.springframework.cloud:spring-cloud-starter-config")
implementation("org.springframework.cloud:spring-cloud-starter-openfeign")
implementation("io.micrometer:micrometer-core")
implementation("io.micrometer:micrometer-registry-prometheus")
modules {
module("org.springframework.boot:spring-boot-starter-logging") {

View File

@@ -28,9 +28,8 @@ public class RefreshToken {
this.token = token;
}
public RefreshToken changeToken(String token) {
public void changeToken(String token) {
this.token = token;
return this;
}
}

View File

@@ -27,7 +27,6 @@ public class JwtProvider {
private static final String AUTHORITIES_KEY = "auth";
private static final String AUTHORITIES_DELIMITER = ",";
private static final String ROLE = "ROLE_";
private final Key key;
private final String prefix;
@@ -90,7 +89,7 @@ public class JwtProvider {
}
private String makeRoleName(String role) {
return role.contains(ROLE) ? role.toUpperCase() : ROLE + role.toUpperCase();
return "ROLE_" + role.toUpperCase();
}
public Authentication getAuthentication(String token) {

View File

@@ -5,8 +5,8 @@ import com.ticketing.server.global.redis.RefreshRedisRepository;
import com.ticketing.server.global.redis.RefreshToken;
import com.ticketing.server.global.security.jwt.JwtProperties;
import com.ticketing.server.global.security.jwt.JwtProvider;
import com.ticketing.server.user.service.dto.DeleteRefreshTokenDTO;
import com.ticketing.server.user.service.dto.TokenDTO;
import com.ticketing.server.user.service.dto.DeleteRefreshTokenDTO;
import com.ticketing.server.user.service.interfaces.AuthenticationService;
import lombok.RequiredArgsConstructor;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
@@ -40,14 +40,8 @@ public class AuthenticationServiceImpl implements AuthenticationService {
// refresh 토큰이 있으면 수정, 없으면 생성
refreshRedisRepository.findByEmail(email)
.ifPresentOrElse(
tokenEntity -> refreshRedisRepository.save(
tokenEntity.changeToken(
tokenDto.getRefreshToken()
)
),
() -> refreshRedisRepository.save(
new RefreshToken(email, tokenDto.getRefreshToken())
)
tokenEntity -> tokenEntity.changeToken(tokenDto.getRefreshToken()),
() -> refreshRedisRepository.save(new RefreshToken(email, tokenDto.getRefreshToken()))
);
return tokenDto;

View File

@@ -1,34 +0,0 @@
server:
port: 8443
address: 0.0.0.0
http:
port: 8080
ssl:
key-store: classpath:keystore/ticketing.p12
key-store-password: ENC(OMvGcpZLpggFTiGNkqNe66Zq/SmJXF6o)
key-store-type: PKCS12
spring:
datasource:
url: jdbc:mysql://ticketing-db/ticketing?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
username: ENC(LowN1n4w0Ep/DqLD8+q5Bq6AXM4b8e3V)
password: ENC(OMvGcpZLpggFTiGNkqNe66Zq/SmJXF6o)
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
properties:
hibernate:
show_sql: true
format_sql: true
hibernate:
ddl-auto: validate
redis:
host: 172.18.0.3
port: 6379
application:
name: monitoring

View File

@@ -26,24 +26,6 @@ spring:
config:
import: "optional:configserver:"
application:
name: monitoring
management:
endpoint:
metrics:
enabled: true
prometheus:
enabled: true
endpoints:
web:
exposure:
include: health, info, metrics, prometheus
metrics:
tags:
application: ${spring.application.name}
jasypt:
encryptor: