[Feat/#15] API 서버 SSE 연결 기능 구현
📋 구현 내용
작업 내용에 대한 개요
- SSE 연결 API 구현
- SSE 연결 정보 저장 기능 구현
- SSE 메시지 전송 기능 구현
🔍 테스트 케이스
- SseRepository Class findById 성공 테스트
- SseRepository Class save 성공 테스트
- MessageService Class connect method 성공 테스트
- MessageService Class connect method 실패(해당 Email을 가진 사용자가 없을 경우) 테스트
- MessageService Class connect method 실패(IOException 발생 시) 테스트
- MessageService Class sendMessageToMemberId method 성공 테스트
- MessageService Class sendMessageToMemberId method 실패(sse 미연결시) 테스트
📢 코멘트
- Sse 연결시 DB Connection이 유지되는 문제를 해결하기 위해 OSIV를 false로 설정하였습니다.
- Exception은 현재 임시로 처리되어 있어서 merge 후 다른 이슈에서 변경하도록 하겠습니다.
- SseEmitter timeout은 임시로 60초로 설정되어있지만 아직 추가적인 테스트가 필요하다고 생각되어 후에 다른 이슈에서 환경 변수로 설정할 수 있도록 변경하겠습니다.
- SseRepository 인터페이스를 만든 이유는 후에SseEmitter 저장에 다른 자료구조를 활용할 수도 있을 것이라고 생각되어 만들어놓았습니다.