我可以在postConstruct中验证是否设置了<task:annotation-driven>?</task:annotation-driven>

时间:2012-03-16 17:34:07

标签: java spring

我有一个库中的以下类:

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失败。我们的想法是,如果缺少设置,使用此库的开发人员将在弹出启动时失败,而不是在部署后软件。

1 个答案:

答案 0 :(得分:2)

我建议不要这样做,因为你将应用程序绑定到Spring以上,但是:

我认为你可以通过注入ApplicationContext并要求它存在一个始终由<task:annotation-driven />设置的bean来实现,例如: AsyncAnnotationBeanPostProcessor