개요
다른 팀이 하던 프로젝트를 이어 받아서 Restful API를 개발할 일이 있었다. 테스트를 위해 application.yml의 local 프로필을 사용하면 된다고 하길래 해당 프로필을 사용해서 로컬 테스트를 진행했다. Swagger를 통해 API를 실행해보고 문제가 발생하면 즉석에서 코드를 수정했었다. 근데 계속 중간 중간 Spring Boot 서비스가 재시작 되는 문제가 발생했다.
이유도 모르게 계속 서비스가 재시작 되어서 Swagger에서 만든 API들을 한 번에 테스트하고 일괄적으로 수정하려고 했는데 테스트를 진행하는데 시간이 너무 소모되었다.
원인
알고 보니 application.yml의 local 프로필에 코드가 변경되면 서비스를 재시작하는 옵션이 설정되어 있었다.
내가 만든 프로필이 아니다보니 생각도 못하고 있었을 뿐더러 나는 사용해본 적도 없는 기능이었다.
코드 수정 내용을 빠르게 테스트 환경에서 적용하려고 했던 것 같다.
spring:
devtools:
restart:
enabled: true
applciation.yml에 이렇게 작성되어 있었다.
저 옵션이 서비스가 실행 중일 때 코드가 변경되면 서비스를 자동으로 재시작한다고 한다.
해결
위 코드에서 해당 부분의 true를 false로 바꾸던가 아예 저 옵션을 제거하면 된다고 한다.
내 프로젝트가 아니기 때문에 나는 false로 바꿔서 진행하다가 git에 push하기 전 true로 바꿔두고 올려두었다.
잘만 사용하면 유용하고 편한 기능이라고 생각하지만 난 불편했다.. ( 안쓰던 기능이라 그런 것 같다.. )
'Back-End > Spring Boot' 카테고리의 다른 글
| [JPA] Spring Boot JPA를 통한 Entity 조회 (0) | 2025.10.01 |
|---|---|
| [Spring Boot] Logging ( feat. Slf4j ) (0) | 2025.09.29 |
| [Spring Boot] Exception Handler를 통한 예외 일괄 관리 (1) | 2025.09.24 |
| [Spring Boot] Spring Boot의 스케쥴링 기능 (0) | 2025.06.30 |
| [Spring Boot] @ModelAttribute vs. @RequestBody 차이점 (0) | 2025.06.30 |