채팅을 구현하면서 겪었던 문제점과 과정에 대해 정리하려고 한다.
기존의 웹소켓만 통해 진행을 하는가, 혹은 좀 더 정해진 형식이 없을까 고민하던 사이에 Stomp라는 것을 알게되었다. 웹소켓을 통해 진행이 되는 채팅을 broker를 통해 서버를 거쳐 전송되는 것을 확인했고 이를 바탕으로 구현하기로 하였다. 발생하면서 겪은 문제점은 크게 연관관계 문제와 CORS 관련 문제였다.
- 다대다 연관관계에서 발생한 영속성 관리 문제
- 다대다 연관관계에서 다대일, 일대다 연관관계 두개로 분리
- 해당 경우 다대다로 테이블이 만들어지면서 빌드는 되지만 실제 실행이 안되는 경우 발생
- 시큐리티 CORS 문제
- 스프링 시큐리티를 적용하면서 채팅으로 접근하는 부분들이 전부 security 필터를 통과하다가 막혀서 연결이 안되는 문제 발생
- permit array항목에 해당 URI도 통과할 수 있도록 추가
- APIC으로 채팅을 체크하는데 APIC에서의 origin을 허용하는 것을 추가하지않아서 문제 발생
- Origin을 허용할 항목들을 추가해서 작성