我有一个库中的以下类:
public class TaskExecutor {
@PostConstruct
public void postConstruct() {
// should fail if <task:annotation-driven /> is not set,
// because execute() needs to run
}
@Scheduled(fixedDelay = 1000)
public void execute() {
// do stuff that always needs to run
}
}
如果未在spring上下文中设置 任务:注释驱动的 ,我想使PostConstruct失败。我们的想法是,如果缺少设置,使用此库的开发人员将在弹出启动时失败,而不是在部署后软件。
答案 0 :(得分:2)
我建议不要这样做,因为你将应用程序绑定到Spring以上,但是:
我认为你可以通过注入ApplicationContext并要求它存在一个始终由<task:annotation-driven />
设置的bean来实现,例如:
AsyncAnnotationBeanPostProcessor