使用它所属的类的lazy-init选项运行预定方法

时间:2013-03-11 07:16:17

标签: java spring scheduled-tasks lazy-initialization

我有一个'ABC'类,在上下文时根据一些外部参数懒得初始化。类有一个方法'test',带有@Scheduled注释,可以执行一些计划的活动。

public class ABC{
    @Scheduled(fixedDelay=100000)
    public void test(){
    }
}

XML文件是这样的:

<bean id="abc" class="com.test.ABC" lazy-init="true" />

无论我是否初始化类,都始终调用@Scheduled方法。

有没有办法只在初始化类时运行@Scheduled方法?

谢谢,

1 个答案:

答案 0 :(得分:1)

您可以尝试使用@PostConstruct方法初始化编程计时器。 然后使用此程序化计时器而不是@Schedule

@参见skaffman对此question about programmatic timer的回答。