웹소켓을 사용하여 새로운 메시지 알림 기능을 구현하고 싶습니다. 예를 들어, A가 기사를 게시하고 누군가가 A에 답장을 보내면 아래와 같이 메시지 알림이 표시됩니다.
백그라운드에서 onMessage() 메소드에서 session.getBasicRemote().sendText("haha");를 직접 사용하면 정상적으로 실행이 되지만, 데이터베이스를 실행하자마자 null 포인터 예외가 발생합니다..
프런트엔드 js 처리:
같은 문제 겪으신 분 계신가요? 알려주세요..
이 널 포인터는 weosocket과 아무 관련이 없습니다. messageService 인스턴스의 종속성 주입 문제일 것입니다.
MessageService가 IOC 컨테이너에 의해 호스팅되는지, 즉 클래스에 @Service 또는 @Component 주석이 추가되었는지 확인해야 합니다.
개발 과정에서 Spring에서 관리하지 않는 클래스(예: MessageController)가 Spring에서 관리하는 객체(예: MessageService 객체)의 메서드를 호출하려고 합니다. 널 포인터가 비정상적으로 나타납니다.
해결책:
ApplicationHelper를 사용하여 필수 MessageService 개체 가져오기