인프런 커뮤니티 질문&답변

kim미소 파파님의 프로필 이미지
kim미소 파파

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Spring Cloud Bus 테스트

토큰정보 변경

작성

·

473

0

로그에는 리로드 했다는 정보가 보는데

토큰 값이 변경이 안되는데요 

bushrefresh

userservice에서

다르게 설정 된건 enviroment 설정이 아니라 

@Value("${token.secret}")

설정하고

private AuthenticationFilter getAuthenticationFilter() throws Exception {

// AuthenticationFilter af=new AuthenticationFilter(uService, authenticationManager());
//af.setAuthenticationManager(authenticationManager());

return new AuthenticationFilter( authenticationManager(),uService,expireDate,secret);
}

이렇게 설정했습니다.

busrefres 후

Saw local status change event StatusChangeEvent [timestamp=1630340225266, current=UP, previous=DOWN]

Keys refreshed [token.secret]

DiscoveryClient_USER-SERVICE/user-service:20fe38fa074d7748fb00bd3965a76338 - registration status: 204

DiscoveryClient_USER-SERVICE/user-service:20fe38fa074d7748fb00bd3965a76338: registering service...

DiscoveryClient_USER-SERVICE/user-service:20fe38fa074d7748fb00bd3965a76338 - registration status: 204

이렇게 로그가 나왔습니다.

maven이 아닌 그레들이며implementation 'org.springframework.cloud:spring-cloud-starter-bus-amqp'

2.5.4 스프링 버전 사용중입니다.

답변 3

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

Config-service에 있는 내용을 Envionment 객체를 통해 가져오는 방법 외에, @Value("${token.secret}")와 깉이 Annotaion을 통해 가져올 경우에는 해당 클래스에 @RefreshScope 설정을 추가해야, Actuator의 busrefresh가 적용됩니다. 참고하시기 바랍니다. 

감사합니다. 

0

네 저도 동일하게 디버깅 모드로 확인을 해봤지만 token.secret 정보를 변경하지 못하는데요

소스를 보내드릴까요?

0

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다.

먼저 @Value와 Environment는 동일한 작업을 하기 때문에, 어떤것을 사용하셔도 됩니다.

변경된 token.secret 정보를 busreferesh를 통해 업데이트 해 주셨다면, 해당 서비스(user-service)에서 변경된 토큰 값이 출력되는지 확인해 보시기 바랍니다. 강의에서도 health_check 메소드에서 출력하고 있으니 참고해 보시기 바랍니다. 변경된 token.secret을 확인하기 위해서, apigateway-service의 인증단계를 IntelliJ의 디버깅 모드로 해당 값이 참조되는지 확인해 보시는 것도 좋을 것 같습니다. 아래 이미지는 변경된 token.secret을 테스트하기 위해, 다시 로그인을 시도했을 때, 디버깅 모드로 확인한 결과 이미지 입니다. 

감사합니다. 

다시 말씀드리지만 갱신이 안되는데요...

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

아래 게시물에 대한 답변 확인이 늦었네요. 작업하신 내용을 아래 이메일로 보내주시면, 해당 코드로 재현해 보도록 하겠습니다. 

edowon0623@gmail.com

감사합니다. 

kim미소 파파님의 프로필 이미지
kim미소 파파

작성한 질문수

질문하기