찾다

 >  Q&A  >  본문

java - websocket 서버의 onMessage() 메소드는 데이터베이스를 작동하자마자 널 포인터 예외를 보고합니다.

웹소켓을 사용하여 새로운 메시지 알림 기능을 구현하고 싶습니다. 예를 들어, A가 기사를 게시하고 누군가가 A에 답장을 보내면 아래와 같이 메시지 알림이 표시됩니다.

백그라운드에서 onMessage() 메소드에서 session.getBasicRemote().sendText("haha");를 직접 사용하면 정상적으로 실행이 되지만, 데이터베이스를 실행하자마자 null 포인터 예외가 발생합니다..

프런트엔드 js 처리:

같은 문제 겪으신 분 계신가요? 알려주세요..

曾经蜡笔没有小新曾经蜡笔没有小新2722일 전1134

모든 응답(2)나는 대답할 것이다

  • 仅有的幸福

    仅有的幸福2017-06-17 09:18:37

    널 포인터weosocket과 아무 관련이 없습니다. messageService 인스턴스의 종속성 주입 문제일 것입니다.
    MessageService가 IOC 컨테이너에 의해 호스팅되는지, 즉 클래스에 @Service 또는 @Component 주석이 추가되었는지 확인해야 합니다.

    회신하다
    0
  • 黄舟

    黄舟2017-06-17 09:18:37

    개발 과정에서 Spring에서 관리하지 않는 클래스(예: MessageController)가 Spring에서 관리하는 객체(예: MessageService 객체)의 메서드를 호출하려고 합니다. 널 포인터가 비정상적으로 나타납니다.

    해결책:

    ApplicationHelper를 사용하여 필수 MessageService 개체 가져오기

    회신하다
    0
  • 취소회신하다