NutzCN Logo
问答 如何将定时器的触发事件传进被定时的ioc管理的对象?
发布于 3226天前 作者 wukonggg 1855 次浏览 复制 上一个帖子 下一个帖子
标签:

目前代码是这样的:

Ioc ioc = IocMaster.getInstance();
Tasks.scheduleAtFixedRate(ioc.get(SampleTask.class), "2016-02-17 00:00:00", 5, TimeUnit.SECONDS);

定时器按照规则每次触发的那个时间,如何传到SampleTask中?

7 回复

直接拿到对象set进去

@wendal 那如何在运行时切换规则? 如果时间规则改变的话,有没有办法在运行中改变,不重启应用程序的情况下

Tasks.reset() 然后重新设置

@wendal 看了一下Tasks源代码。貌似reset后所有的task都会清空。有没有办法单独针对某一个task来调整?

明显... 木有,因为没法知道是哪个task...

@wendal 直接拿到对象set进去

直接set是咋set。。。。 ioc来get对象之后,直接放到Tasks.scheduleAtFixedRate里边了。
1.没有地方去获取触发器触发时的时间
2.得到时间也没法往SampleTask里边去set啊。。

在SimpleTask中加个属性,放触发时间

添加回复
请先登陆
回到顶部