我想使用 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;
}

解决方法

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