no image
ObjectMapper, Pattern 등의 클래스를 싱글톤으로 사용해도 될지 고민했던 내역
개요코드 짤 때, 급하게 짠다고 다른 사람 코드를 복붙하거나 습관적으로 ObjectMapper, Formatter 등을 로컬 메서드에서 매번 새롭게 선언해가며 사용하였었습니다. 이 때, ObjectMapper, Formatter를 싱글톤으로 빈 주입하여 사용하려고 하는데 가능한건가 싶어 확인하다가 찾은 내용을 정리하고자 합니다. 문서에 다 적혀 있음ObjectMapper, Pattern, DateTimeFormatter를 싱글톤으로 사용해도 괜찮은 이유가 설명 문서에 다 있었습니다.[ObjectMapper][Pattern][DateTimeFormatter]
2024.11.15
Spring Boot 없이 xml로 환경 설정 할 때 JUnit Bean 주입 (이슈 내용 정리)
개요회사 코드에서 Spring Boot없는 순수 Spring으로 xml 환경 설정을 진행하고 있습니다. 이 때, 평소에 Spring Boot를 쓰던 상황에 편하게 적용하던 테스트 클래스 Component 적용을 Spring 환경에서 어떻게 진행하는지 삽질한 내용을 정리해두고자 합니다.  적용법적용법은 하단의 블로그를 참고했습니다.https://codevang.tistory.com/259 jUnit, Spring-Test 라이브러리 사용법[ jUnit ] 전체 프로젝트(특히 WAS)를 구동하지 않고 단위 코드 테스트를 할 수 있게 해주는 라이브러리 [ Spring-Test ] jUnit을 확장한 스프링의 테스트 라이브러리 스프링 MVC 프로젝트를 진행할 때 코codevang.tistory.com 테스트 폴..
2024.10.28
no image
스프링 동시성 이슈 테스트 코드 짜기
개요작업 중에 동시성 이슈에 대한 부분을 구현 할 일이 있었습니다.시나리오는 아래와 같습니다.- 사용자가 작업을 요청합니다.- 사용자는 언제든 작업 취소 요청을 할 수 있습니다.- 사용자가 작업 취소 요청을 한 경우 반드시 작업 취소가 이루어져야 합니다.- 작업이 완료된 경우에는 특정 상태값이 업데이트 되며 상위 서비스에서 이를 파악하도록 업데이트 해줍니다.이런 규칙 속에서 문제는 아래와 같습니다.작업이 완료되어 상태값이 업데이트 되어야하는 순간과 작업 취소가 동시에 이루어지는 경우 입니다.동시에 이루어질 경우 순서를 정하게 하면 아래의 두 순서가 존재할 것입니다.작업 완료 -> 작업 취소작업 취소 -> 작업 완료두 순서 중 어느 것이든 간에 작업 취소가 들어왔다는 사실이 있다면 저장된 결과를 모두 날리..
2024.10.28