Spring容器整合WebSocket
来源:互联网 发布:设置maven的java home 编辑:程序博客网 时间:2024/05/20 07:33
WebSocker是一个保持web客户端与服务器长链接的技术。这样在两者通信过程中如果服务器有消息发送给客户端,就无需等待web客户端发送一个请求了(HTTP协议是请求相应式,如果没有Web客户端的请求,服务器是无法对客户端做相应的)。
单独的部署一个WebSocket服务器很简单,只需要几个注解即可。那么当在Spring项目中如何使用WebSocket呢?也行你会想,没什么不同啊。一样通过WebSocket注解就可以了啊。但我们使用Spring的目的就是通过Spring的容器来管理Bean,将WebSocket独立出来如果WebSocket中需要用到Spring容器中的bean该怎么办?
Spring 提供了两种将WebSocket部署在Spring容器中的方法:
方法一:
使用org.springframework.web.socket.server.standard.ServerEndpointExporter.ServerEndpointExporter类。在Spring容器中添加一个该类的实例:
@Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); }
Spring容器会去扫描包,将WebSocket加入容器。此时对于WebSocket则使用Spring的注解:
@ServerEndpoint(value="/getLocation",configurator = SpringConfigurator.class)@Componentpublic class TransmissionLocationWebSocket { xxxx}
SpringConfigurator.class 为Spring提供的一个类。通过这个类,该WebSocket中就可以注入Spring容器的bean。
方法二:
使用Spring封装的WebSocket接口TextWebSocketHandler。
public class WebSocketHandler extends TextWebSocketHandler { /** * 连接成功时候 */ @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { } /** * 连接关闭时候 */ @Override public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) throws Exception { }}
将类添加到Spring容器中,并配置:
@Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), "/getLocation").setAllowedOrigins("*"); } @Bean public WebSocketHandler myHandler() { return new WebSocketHandler(); }
Spring与WebScoket的配置即如上两个方法。
2 0
- Spring容器整合WebSocket
- spring整合webSocket
- websocket与Spring整合
- spring+websocket整合使用
- Spring整合Websocket
- spring之整合websocket
- spring-boot整合websocket
- spring websocket整合示例
- Spring boot 整合websocket
- spring整合websocket
- Spring整合Websocket
- spring+websocket整合
- Spring与WebSocket的整合
- Spring+WebSocket整合(SSM)
- JFinal整合spring的websocket
- 认识HTML5的WebSocket以及spring+websocket整合
- springMVC+spring+MyBatis+websocket技术整合
- Spring Boot WebSocket整合及nginx配置
- android解决方法数超过65536问题
- Data Binding Library 开元框架简单使用用
- error: command 'C:\\Users\\Mrchang\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Pyt
- Ubuntu14.04+Theano+OpenCL+libgpuarray实现GPU运算
- SpringMVC进行json数据交互
- Spring容器整合WebSocket
- jQuery笔记
- 移除源字符串中的目标串
- Android WebView
- TCP/IP 各类协议及所在层
- The Python Challenge Level-8 Solution
- mpeg dash简单介绍
- MATLAB中导出结构体中数据到文件
- 欢迎使用CSDN-markdown编辑器