Skip to content

Conversation

@CheorHyeon
Copy link
Owner

@CheorHyeon CheorHyeon commented Dec 2, 2023

  • src/main/java/com/ll/spring_additional/base/config/AsyncConfig.java

    • 기존 : SimpleAsyncTaskExecutor가 동작하여 각 작업마다 새로운 스레드를 생성하여 비동기적으로 동작
    • 변경 : 스레드풀을 사용해 스레드를 재활용 하도록 ThreadPoolTaskExecutor 방식으로 수정
      • 5개로 작업 -> 20개인 큐에서 대기 -> 넘침 -> 30개로 늘림 -> 큐 그래도 다참 -> RejectExecutionException 발생
        RejectExecutionException 발생 -> CallerRunsPolicy 처리하여 작업을 요청한 스레드에서 동작하도록(이 경우 비동기 방식)
  • src/main/java/com/ll/spring_additional/boundedContext/user/entity/SiteUser.java

    • @DynamicUpdate 어노테이션을 활용해 비밀번호가 변경될 때 비밀번호에 대해서만 update쿼리 발송되도록 수정
  • src/main/java/com/ll/spring_additional/boundedContext/user/service/UserService.java

    • Bean으로 등록한 TaskExecutor를 사용하여 스레드풀 방식으로 동작하도록 설정

image

  • 스레드 정상 동작 확인

image

  • password만 변경되는지 확인

close #22

@CheorHyeon CheorHyeon added the enhancement New feature or request label Dec 2, 2023
@CheorHyeon CheorHyeon self-assigned this Dec 2, 2023
@CheorHyeon CheorHyeon changed the title Enhancement22 리팩토링2 : 비밀번호 찾기, 변경 개선 및 비동기 메서드 스레드풀 방식으로 동작하도록 수정 Dec 2, 2023
@CheorHyeon CheorHyeon merged commit 19fa5e5 into main Dec 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

추가 기능 리팩토링 2

2 participants