首页 > 解决方案 > 我想使用 java 实现 websocket,但 StompHeaderAccessor 引用的 getSessionAttributes() 函数显示错误

问题描述

我正在使用这个代码块。但是 getSessionAttributes() 显示错误。我使用了库“spring-messaging.jar-4.0.0 Release”。我在他们的网站上发现这个函数存在于这个类中。但是我使用的库不包含这个类。如何解决?我无法更新类文件并添加功能!

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

标签: javawebsocketstomp

解决方案


这是因为库版本。互联网上的每个参考博客都建议spring-messaging.jar-4.0.0 Release.jar。但是这个库版本很旧。所以,我只需要一个更新的版本。我补充说"spring-messaging.jar-4.1.\* Release.jar"。现在问题解决了。


推荐阅读