quartz 中service不能注入?

发布于 2021-11-14 15:12:55 字数 1468 浏览 825 评论 2

@Controller
public class SystemJob extends QuartzJobBean {

	private TaoBaoService taoBaoService;

	@Override
	protected void executeInternal(final JobExecutionContext context)
			throws JobExecutionException {
		System.out.println(taoBaoService);
		taoBaoService.test();
	}

	@Autowired
	public void setTaoBaoService(final TaoBaoService taoBaoService) {
		this.taoBaoService = taoBaoService;
	}

	@RequestMapping("test")
	public void test() {
		System.out.println(taoBaoService);
		System.out.println("test..");
	}
}

<!-- quartz -->
<bean id="systemJob" class="org.springframework.scheduling.quartz.JobDetailBean">
	<property name="jobClass" value="com.pqc.tbk.web.scheduling.SystemJob"></property>
</bean>
<bean id="myCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
	<property name="jobDetail">
		<ref bean="systemJob"/>
	</property>
	<property name="cronExpression" value="0 10 0 * * ? *"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
	<property name="triggers">
		<list>
			<ref bean="myCronTrigger"/>
		</list>
		</property>
	</bean>

直接通过地址栏访问test打印的不是null

但是通过任务执行,打印的是null,奇怪的是既然service是null,执行test()方法竟然没有报空指针?应该是注入成功了啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

牵你的手,一向走下去 2021-11-16 23:26:05

<!-- quartz -->

执手闯天涯 2021-11-16 23:04:23

难道说任务是系统启动时设定的,而在启动的时候service还没有注入进去?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文