Java,Spring定时器@Scheuled,后台定时轮询简易方法
说到轮询,大多数都使用websocket轮询,或亦是redis,rabbitMQ等,业务需求,今日想出一种简易的轮询方法, 记录一下,如有错误,大佬门轻喷。
需求假设: 页面显示今日天气状况,天气是实时改变的,所以每个一小时或者半小时更新。所以需要后台定时执行一次请求获取天气信息,来更新天气情况等等
直接上代码
//省略controller service代码 @Service public class WeatherServiceImpl implements WeatherService{ //先获得天气情况,util封装了天气情况具体请求接口 public static Map data = Util.getWeatherData; //每半个小时执行一次,具体参数写法可自行百度 @scheduled时间参数配置 @Scheduled(cron = "0 0/30 * * * *") public void weatherScheduled(){ data = Util.getWeatherData; } @Override public Map getWeather(){ return data; } }
这样就可简易的获取实时天气数据了。
这便是一个简易的轮询,数据量不大,轮询时间不长可以使用
数据量大,需要实时精准的还是使用消息中间件吧!~
如有错误,烦请告知并提出修改,谢谢~~
上一篇:
IDEA上Java项目控制台中文乱码