Как исправить проблему «Необработанное исключение из метода обработчика сообщений» для чата с помощью springboot - PullRequest
0 голосов
/ 30 мая 2019

Я пытаюсь построить окно чата, используя springboot + thymeleaf в java. У меня ошибка при отправке звонка из пользовательского интерфейса на контроллер. Всякий раз, когда я ввожу имя пользователя и нажимаю на кнопку отправить, выдается сообщение об ошибке Unhandled exception from message handler method. Я скачал код чата из Интернета и добавил код в свой существующий проект. Если я запускаю проект независимо, он прекрасно работает, но если я интегрируюсь с моим проектом, это выдает ошибку.

Мой .js имеет метод ниже, который вызывает chat.addUser.

Main.js

function onConnected() {

        stompClient.subscribe('/topic/publicChatRoom', onMessageReceived); // Subscribe to the Public Topic

        // Tell your username to the server
        stompClient.send("/app/chat.addUser",
            {},
            JSON.stringify({sender: username, type: 'JOIN'})
        )

        connectingElement.classList.add('hidden');
    }

Мой WebSocketChatController выглядит следующим образом

WebSocketController.java

    @MessageMapping("/chat.addUser")
    @SendTo("/topic/publicChatRoom")
    public ChatMessage addUser(@Payload ChatMessage chatMessage,SimpMessageHeaderAccessor headerAccessor) {
        // Add username in web socket session
        System.out.println("In addUser");
        headerAccessor.getSessionAttributes().put("username",chatMessage.getSender());
        return chatMessage;
    }

В этом контроллере я не могу позвонить ("/chat.addUser"). Мой вывод такой, когда я ввожу имя пользователя.

Выход:

    2019-05-30 17:11:50,228  [34mINFO [0;39m [-8081-exec-6] [36mcom.bmc.app.config.WebLogAspect         [0;39m : RESPONSE : chat 
    2019-05-30 17:11:50,228  [34mINFO [0;39m [-8081-exec-6] [36mcom.bmc.app.config.WebLogAspect         [0;39m : SPEND TIME : 1 
    2019-05-30 17:11:50,228  [34mINFO [0;39m [-8081-exec-6] [36mcom.bmc.app.config.WebLogAspect    [0;39m :
    2019-05-30 17:12:11,853  [34mINFO [0;39m [-8081-exec-2] [36mc.b.a.listener.HttpHandshakeInterceptor [0;39m : Call beforeHandshake 
    2019-05-30 17:12:11,855  [34mINFO [0;39m [-8081-exec-2] [36mc.b.a.listener.HttpHandshakeInterceptor [0;39m : Call afterHandshake 
    2019-05-30 17:12:11,863  [34mINFO [0;39m [undChannel-7] [36mc.b.a.config.WebSocketChatEventListener [0;39m : Received a new web socket connection 
    2019-05-30 17:12:14,899  [1;31mERROR[0;39m [ndChannel-23] [36m.WebSocketAnnotationMethodMessageHandler[0;39m : Unhandled exception from message handler method 
    java.lang.NullPointerException: null
        at com.bmc.app.config.WebLogAspect.doBefore(WebLogAspect.java:33) ~[classes/:na]
        at jdk.internal.reflect.GeneratedMethodAccessor238.invoke(Unknown Source) ~[na:na]
...