今天上午10:30 到公司,中午和建设,恩生,冯总,小岛一起吃得饺子,不是很好吃。但是应该是家里做的。有点想吃家里的饺子了。
今天上午晕晕的。写的code出了bug。
因为scheduledExecutorService.scheduleAtFixedRate 的起的task 是一直使用一个第一次生成的实例。
导致实例内部的变量不会改变。
很对不起小孟和jingshun。 很过意不去。
我一直开始认真的解决问题了,可是因为底子浅薄,还是会出问题。
但是还是要加油,多掉几回坑,就好了。
10:00下班。之后在家玩电脑,和xy wyy 聊天了。
11:40 洗漱,看了接口的一些问题,已写日志记录。‘
00:30 睡觉。
明早要6:30 起床。因为没有修case,因为要买票。
现在的注册方式变成:
private void scheduleAtFixedRate( Class<? extends Runnable> taskClazz, long initialDelay, long period, TimeUnit unit) {
this.scheduledExecutorService.scheduleAtFixedRate(new TaskWrapper(taskClazz), initialDelay, period, unit);
}
上边代码中增加了一层Wrapper :
public class TaskWrapper implements Runnable {
public static Logger logger = Logger.getLogger(TaskWrapper.class);
private Class<? extends Runnable> type;
public TaskWrapper(Class<? extends Runnable> clazz) {
this.type = clazz;
}
@Override
public void run() {
Runnable task = null;
try {
task = this.type.newInstance();
task.run();
} catch (Throwable e) {
if (null == task || !(task instanceof DefaultTask)) {
logger.error(type.getName(), e);
QMonitor.recordOne("TaskWrapper ERROR");
} else {
logger.error(((DefaultTask) task).getTaskName() + " ERROR", e);
QMonitor.recordOne(((DefaultTask) task).getTaskName() + " ERROR");
}
return;
}
}
}
后悔:
今天回来太早了,case 没有修完。在家的pn链接又太不给力!!! —+ 木有看书。
今天一定看书。 now