开发环境:win7 + idea2018 + jdk 1.8 + springboot 2.x 记一次出现问题,我在项目中先集成了websocket环境,并且测试通过,之后想要模拟实时推送的效果,虽然可以直接使用线程类进行模拟,但是想到最近看到了定时任务,就像试一试,没有想到,这不试不知道啊,这里有个坑,主要原因还是由于个人的基础太浅薄,英文水平太辣鸡. WebSocket环境搭建可以参考我之前的记录(https://www.cnblogs.com/threadj/p/10552904.html…
WebSocket跟常规的http协议的区别和优缺点这里大概描述一下 一.websocket与http http协议是用在应用层的协议,他是基于tcp协议的,http协议建立链接也必须要有三次握手才能发送信息.http链接分为短链接,长链接,短链接是每次请求都要三次握手才能发送自己的信息.即每一个request对应一个response.长链接是在一定的期限内保持链接.保持TCP连接不断开.客户端与服务器通信,必须要有客户端发起然后服务器返回结果.客户端是主动的,服务器是被动的. WebSocke…
Springboot整合Websocket遇到的坑 一.使用Springboot内嵌的tomcat启动websocket 1.添加ServerEndpointExporter配置bean @Configuration public class WebSocketConfig { /** * 服务器节点 * * 如果使用独立的servlet容器,而不是直接使用springboot的内置容器,就不要注入ServerEndpointExporter,因为它将由容器自己提供和管理 * @return *…
springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务器都运行此代码导致. 参考了网上的一些资料后了解到,是因为定时任务被实例化了两次的缘故,这个现象归根到底问题出在tomcat的service.xml的配置上. 在service.xml中知道如下代码: <Host name="localhost" appBase="weba…
SpringBoot 整合 WebSocket(topic广播) 1.什么是WebSocket WebSocket为游览器和服务器提供了双工异步通信的功能,即游览器可以向服务器发送消息,服务器也可以向游览器发送消息.WebSocket需游览器的支持,如IE10.Chrome 13+.Firefox 6+,这对我们现在的游览器来说都不是问题. WebSocket是通过一个socket来实现双工异步通讯能力的.但是直接使用WebSocket(或SockJS:WebSocket协议的模拟,增加了当游览…
代码全部复制,仅供自己学习用 1.环境搭建 因为在上一篇基于STOMP协议实现的WebSocket里已经有大概介绍过Web的基本情况了,所以在这篇就不多说了,我们直接进入正题吧,在SpringBoot中,我们还是需要导入WebSocket的包. 在pox.xml加上对springBoot对WebSocket的支持: <!-- webSocket --> <dependency> <groupId>org.springframework.boot</groupId&…
一.入门简介正常聊天程序需要使用消息组件ActiveMQ或者Kafka等,这里是一个Websocket入门程序. 有人有疑问这个技术有什么作用,为什么要有它?其实我们虽然有http协议,但是它有一个缺陷就是不能主动向客户端发送消息,而我们的基于Tcp协议的Websocket能够做到,所以这在多台机器之间通信提供了大大的方便. 二.入门案例本案例使用Springboot+WebSocket+Thymeleaf 1.1pom.xml<!-- websocket --> <dependency…
这个不多说,springboot 定时任务非常简单就可以实现了. 30s运行一次 , @Scheduled(cron="0,30 * * * * ?") 通过这个控制定时时间 cronExpression表达式 package com.task.job; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.autoconfigure.SpringBootAppl…
springboot定时任务 假设场景:单体应用的定时任务,假设我们已经有了一个搭建好的springboot应用,但是需要添加一个定时执行的部分(比如笔者遇到的是定时去请求一个接口数据来更新某个表),这样作为开发人员,笔者选择了最简单的方法,也就是springboot自带的定时器. 1.使用@Scheduled demo的结构如下: 启动器: package com.wh.timerdemo;​import org.springframework.boot.SpringApplication;i…
目录 HTTP缺点 HTTP websocket区别 websocket原理 使用场景 springboot整合websocket 环境准备 客户端连接 加入战队 微信公众号 主题 HTTP请求用于我们开发以及用户之间最为广泛的一种协议,在HTTP中我们可以简单的通过浏览器获取到我们需要的内容(页面).但是他也有他的局限性.今天我们的主角websocket将为展现他的功能 HTTP缺点 HTTP只能有client发起请求服务端做出响应返回结果.服务端是不能主动向客户端发送信息的.所以有的网站在解…