使用Spring的xml配置,如何在不启用@Async
注释扫描的情况下启用@Scheduled
注释扫描?
通常情况下,您可以同时使用<task:annotation-driven />
同时启用,但我只是在特定的Spring配置文件处于活动状态时尝试启用调度。
使用Spring JavaConfig,您可以单独使用@EnableAsync
和@EnableScheduling
。我正在维护一个已经存在几年的项目并且仅使用基于xml和注释的配置,我不想将JavaConfig添加到混合中,除非它是唯一的方法。
答案 0 :(得分:3)
不使用命名空间而是手动添加相应的bean。 org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor
负责@Async
和org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor
负责@Scheduled
。
通过手动注册bean,您只需将ScheduledAnnotationBeanPostProcessor
移动到您希望其处于活动状态的配置文件。