在nutz中增加了quartz,但在执行quartz时 获取不到dao数据源,
6 回复
@wendal 这个可以怎么破 ,是不是获得不到注解了
解决方案有2个
- 用 nutz-integration-quartz
- 做一个NutQuartzJobFactory
public class NutQuartzJobFactory implements JobFactory {
private static final Log log = Logs.get();
protected SimpleJobFactory simple = new SimpleJobFactory();
public Job newJob(TriggerFiredBundle bundle, Scheduler scheduler) throws SchedulerException {
try {
return Mvcs.ctx().getDefaultIoc().get(bundle.getJobDetail().getJobClass());
}
catch (Exception e) {
log.warn("Not ioc bean? fallback to SimpleJobFactory", e);
}
return simple.newJob(bundle, scheduler);
}
}
还有一个办法, 直接从ioc拿需要的对象,而不是依赖注入
public ............... {
Dao dao = Mvcs.ctx().getDefaultIoc().get(Dao.class);
....
}
@wendal 通过JobDetail 的dataMap把ioc传过去了
添加回复
请先登陆