用了好多的定时器方法但是都不太理想。因为还得返回给前台数据进行刷新页面。
在前台用的js定时器会导致崩溃。。时间太长了好像。。望大神给个解决方法,
能够定时执行方法并返回前台数据。
看你的描述,这样的需求还是 很少见的。 要分成两部分,一是定时,而是推送。
先说定时:定时 Java 自己原生的 timeTask、quartz框架 、定时线程池 等都可以实现。
而前台推送,这就有点问题了。 按照楼主描述 要刷新页面,也就是说 要求 浏览器一直开着,而推送,可以使用 长连接、H5的websocket、甚至一些已有的公共类库。
用js的简单实现的话,可以使用 setInterval,或者 setTimeOut ,先获取定时时间,再定时获取服务端时间,比对时间差,然后发送请求来刷新数据。
比如:进入页面发起请求 获取 定时时间(2点)和服务器时间(1点),计算 下次发请求的时间,也就是1个小时后再发请求获取数据。
你说导致崩溃,估计是你一直发长连接,不断请求,被浏览器认为不安全,拦截了或者响应超时了?
用quartz吧,定时作业
返回前台需要怎么处理,只是展示吗?具体说明一下
看看这篇博客:http://blog.csdn.net/mrs_yaoyoung/article/details/52079640
你要用什么样的?如果是在Spring.xml里的话看看这个,我自己写的 http://blog.csdn.net/qq_38005982/article/details/77235783
看不懂的话,第一行有别人的文章比我写的清楚
如果是在java的类里配。。。对不起不用看了
也许你需要一个webim或者类似的机制
用quartz定时任务
后台用quartz定时任务,处理完成结果后,前台有websocket,后台一旦执行定时任务后就往前台推送数据。
quartz定时任务,前端websocket心跳保活,发送数据