@Every("1min")

a470 2013-10-28 03:28:14

@OnApplicationStart
@Every("1min")
public class TopMerchantTestJob extends Job {

private static Logger logger = LoggerFactory.getLogger(TopMerchantTestJob.class);

@Override
public void doJob() throws Exception {

Thread t = new Thread(new Runnable() {
public void run() {
long start = System.currentTimeMillis();
logger.info(TopMerchantTestJob.class.getName() + " started.");
TopMerchant.updateTopMerchantForTest();
logger.info(TopMerchantTestJob.class.getName() + " finished, elapsed time " + (System.currentTimeMillis() - start) + "ms.");
}
});

t.start();
}
}

这个代码是什么时候运行?@OnApplicationStart
@Every("1min")这是什么意思啊??为什么dojob里还有t.start。。。云里雾里啊,。。
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
a470 2013-10-28
  • 打赏
  • 举报
回复
知道了,是http://www.playframework.com/的。很多都可以找到了
Defonds 2013-10-28
  • 打赏
  • 举报
回复
这是啥框架的注解? 应该是如楼上所讲,定时任务。 具体注解得看框架 API 啊
teemai 2013-10-28
  • 打赏
  • 举报
回复
目测是play的job。 job的意思是每隔一段时间执行这里的代码,@Every("1min")表示每隔一分钟执行。@OnApplicationStart表示当服务器启动起来就开始执行。 ================== 为什么dojob里还有t.start。。。云里雾里啊,。。 dojob里是新起了线程,所以用t.start()。为什么这么用,个人理解是防止1min中执行不了这个job,当第二次运行到这里会对第一次的运行产生影响。用线程就没有这样的问题了

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧