最近有个项目需要实现采集信息在web端的实时显示,由于采集器与web端之间唯一的交互途径就是通过数据库,而采集器端会定时上传采集到的信息到数据库,所以想到一种方法就是让web端也定时的读取数据库,并且通过数据库操作(将采集时间进行逆序排序并取最新的一个)获得最新采集到的数据,并通过ajax在不刷新整个网页的基础上将数据显示到网页的table中
本博客是将本人学习的过程已经最终实现的结果予以记录。
在spring中
使用@Scheduled()注解来实现,但在项目启动类上必须加上@EnableScheduling注解
// 在主类前添加@EnableScheduling,启动Scheduled
@SpringBootApplication
@EnableScheduling // 定时执行任务
public class InspectionApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(InspectionApplication.class, args);
}
}
// 然后在服务类中进行实现
@Component
public class TestServiceImpl {
@Scheduled(fixedRate = 5000) // 定时执行,每隔5s执行一次
public void myTest() {
System.out.println("mytest" + new SimpleDateFormat("HH:mm:ss").format(new Date()));
}
}