websocket中spring注入service对象失败问题处理

2023-11-06

因为在spring中controller,service,dao默认都为单例模式,而websocket为多线程的,websocket初始化时(非连接用户)会将@Autowired的对象注入成功,后面创建socket链接后会注入为null。因为spring是单例模式,已经注入了不会重复的注入对象。

解决方法:转为静态属性

@ServerEndpoint(value = "/imserver/{username}")
@Component
public class WebSocketServer {

    private static MessageService messageService;

    @Autowired
    public void setMessageService(MessageService messageService){
        WebSocketServer.messageService = messageService;
    }
   ......
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

websocket中spring注入service对象失败问题处理 的相关文章

随机推荐