spring Task&&WebSocket

本文介绍了Spring Task作为定时任务框架的使用,包括cron表达式的详细解释和应用实例。同时,文章探讨了WebSocket协议,它是基于TCP的全双工通信协议,适合于实时通信场景,如弹幕、聊天和股票更新等。并给出了WebSocket的基本实现步骤和潜在缺点。
摘要由CSDN通过智能技术生成

## 介绍

spring Taks是spring框架提供的任务调度的工具 可以按照约定的时间自动执行某个代码逻辑
定位:定时任务框架
作用:定时自动执行某段java代码
应用的场景
1 信用卡每月的还款提醒
2 火车票售票系统处理未支付的订单
3 入职纪念日为用户发送通知
!!!注意:只要是需要定时处理的场景都可以使用springTask

cron表达式
它其实是一个字符串 通过cron表达式可以定义任务触发的时间
构成的规则:分为6或者7个域,由空格分隔开来,每个域代表一个含义
每个域的含义分别为:秒、分钟、小时、日、月、周、年(可选)
在这里插入图片描述通配符:

1* 表示所有值;

? 表示未说明的值,即不关心它为何值;

- 表示一个指定的范围;

, 表示附加一个可能值;

/ 符号前表示开始时间,符号后表示每次递增的值;

cron表达式案例:
*/5 * * * * ? 每隔5秒执行一次

0 */1 * * * ? 每隔1分钟执行一次

0 0 5-15 * * ? 每天5-15点整点触发

0 0/3 * * * ? 每三分钟触发一次

0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发

0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发

0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时

0 0 10,14,16 * * ? 每天上午10点,下午2点,4点

当然我们不会的话也可以通过cron表达式在线生成器:https://cron.qqe2.com/
spring Taks的使用步骤
1 导入maven坐标
2 启动类添加注解@EnableScheduling开启任务调度
3 自定义定时任务类

WebSocket介绍

Websocket是基于TCP的一种新的网络协议,它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并且进行双向数据传输。
!!!注意:建立的是持久性的连接不是永久性的连接。
HTTP协议和WebSocket协议对比:
1 HTTP是短连接
2 WebSocket是长连接
3 HTTP通信是单向的,基于请求响应格式
4 WebSocket支持双向通信
5 HTTP和WebSocket底层都是TCP连接

在这里插入图片描述在这里插入图片描述应用的场景:
1 视频弹幕
2 网页聊天
3 体育实况的更新
4 股票几斤报价实时更新
入门案例*:
实现步骤:
1 直接使用websocket.html页面作为websocket客户端
2 导入websocket的maven坐标
3 导入websocket服务端组件websocketserver 用于和客户端通信
4 导入配置类websocketconfiguration 注册websocket的服务端组件
5 导入定时任务类websocketask 定时向客服端推送数据
websocket缺点:
1 服务器长期维护长链接需要一定的成本
2 各个浏览器支持的程度不一样
3 websocket是长连接,受网络限制比较大,需要处理好重连
!!!websocket不能完全取代http只能在特定的场景下使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值