Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

회원 가입 시 스페이스 자동 생성 기능 리팩토링 #228

Open
dpdmstjs opened this issue Nov 7, 2023 · 0 comments
Open

회원 가입 시 스페이스 자동 생성 기능 리팩토링 #228

dpdmstjs opened this issue Nov 7, 2023 · 0 comments
Assignees
Labels
🔨 Refactor 코드 리팩토링

Comments

@dpdmstjs
Copy link
Contributor

dpdmstjs commented Nov 7, 2023

기능

작업 상세 내용

  • [ ]

참고 사항

@dpdmstjs dpdmstjs added the 🔨 Refactor 코드 리팩토링 label Nov 7, 2023
@dpdmstjs dpdmstjs self-assigned this Nov 7, 2023
dpdmstjs added a commit to dpdmstjs/jober-backend that referenced this issue Nov 7, 2023
- Event를 사용해 이벤트로 사용하는 클래스라는 것을 명시적으로 표현
- 이벤트에 필요한 정보를 담고 있으며, 이벤트가 발생했을 때 해당 정보를 사용
dpdmstjs added a commit to dpdmstjs/jober-backend that referenced this issue Nov 7, 2023
dpdmstjs added a commit to dpdmstjs/jober-backend that referenced this issue Nov 9, 2023
- 트랜잭션이 성공할 때만 이벤트 핸들러를 실행되도록 TransactionalEventListener 사용
dpdmstjs added a commit to dpdmstjs/jober-backend that referenced this issue Nov 9, 2023
- 스프링 트랜잭션 성공에 따라 이벤트 핸들러 실행되도록 변경
dpdmstjs added a commit to dpdmstjs/jober-backend that referenced this issue Nov 9, 2023
YangSooHyun0 pushed a commit that referenced this issue Nov 12, 2023
* feat : 비동기 예외 처리 클래스 구현

- 기본적으로 @async 메서드에서 발생하는 예외는 호출자에게 전파가 되지 않음.
- 이는 @async 어노테이션이 붙은 메서드가 별도의 스레드에서 실행되므로 메인 스레드에서 캐치를 할 수 없기 때문
- 비동기 메서드에서 발생하는 예외를 처리하는 클래스인 AsyncExceptionHandler를 구현
- AsyncUncaughtExceptionHandler 인터페이스를 구현하였으며, handleUncaughtException 메서드를 통해 예외를 처리

* feat : 비동기 설정 클래스 추가

- 비동기 처리를 위한 설정 클래스인 AsyncConfig를 추가

- 'threadPoolTaskExecutor'라는 이름의 Executor 빈을 등록하는 메서드를 구현
- Executor는 비동기 작업을 처리할 때 사용될 스레드 풀을 설정하며, corePoolSize는 5, maxPoolSize는 30, queueCapacity는 50으로 설정

- AsyncConfigurerSupport의 getAsyncUncaughtExceptionHandler() 메서드를 오버라이드하여 비동기 메서드에서 발생하는 예외를 처리하는 클래스인 AsyncExceptionHandler를 반환하도록 함

* refactor : 스페이스 생성 로직을 SpaceService 클래스로 분리

- 유저의 개인 및 단체 스페이스를 초기화하고 저장하는 작업을 비동기적으로 처리

* style : 불필요한 import 제거

* feat : MemberSignupEvent 클래스 생성 (#228)

- Event를 사용해 이벤트로 사용하는 클래스라는 것을 명시적으로 표현
- 이벤트에 필요한 정보를 담고 있으며, 이벤트가 발생했을 때 해당 정보를 사용

* refactor : MemberSignupEvent 클래스 필드 제거 (#228)

* refactor : 회원 가입 시 이벤트 디스패처를 통한 스페이스 초기화 로직 적용 (#228)

* feat : 회원 가입 이벤트 핸들러 구현 (#228)

* refactor : 비동기 처리 로직 제거 및 코드 정리 (#228)

* refactor : TransactionalEventListener로 변경 (#228)

- 트랜잭션이 성공할 때만 이벤트 핸들러를 실행되도록 TransactionalEventListener 사용

* refactor : TransactionalEventListener로 변경 (#228)

- 스프링 트랜잭션 성공에 따라 이벤트 핸들러 실행되도록 변경

* style : 불필요한 공백 제거 (#228)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔨 Refactor 코드 리팩토링
Projects
None yet
Development

No branches or pull requests

1 participant