java实时推送前端数据_Java整合WebSocket实现实时推送(注解版)

第一次写博客,备份下代码,顺便给需要的同学看看,

网上也有很多Java整合webSocket的例子,大多自己写个类继承 WebSocketConfigurer ,

直接使用注解的比较少,我也看了很多写的运行有问题,要么代码关键部分缺少,想着自己弄一个好了,这个版本在网上某些大佬的基础上实现的,基础代码重复写没意义。

1.加入websocket依赖包

org.springframework

spring-websocket

${spring.version}

org.springframework

spring-messaging

${spring.version}

2.在Namespaces中勾选websocket

3.配置请求地址

4.拦截器配置

public class WebSocketInterceptor extends HttpSessionHandshakeInterceptor {

/**

* TODO 描述该方法的实现功能.

* @see org.springframework.web.socket.server.support.HttpSessionHandshakeInterceptor#beforeHandshake(org.springframework.http.server.ServerHttpRequest, org.springframework.http.server.ServerHttpResponse, org.springframework.web.socket.WebSocketHandler, java.util.Map)

*/

@Override

public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler,

Map attributes) throws Exception {

if(request instanceof ServletServerHttpRequest){

ServletServerHttpRequest serverHttpRequest = (ServletServerHttpRequest)request;

//获取参数

String userId = serverHttpRequest .getServletRequest().getParameter(“userId”);

attributes.put(MyMessageHandler.USER_KEY, userId);

}

return true;

}

}

5.socket用户及msg

/**

ClassName: MyMessageHandler

Function: 实现webscoket接口

@version

*/

@Service

public class MyMessageHandler imple

你可能感兴趣的:(java实时推送前端数据)