所有ApplicationContexts完成刷新后的Spring钩子?

时间:2015-04-17 16:39:59

标签: java spring

我有初始化代码,我想在Spring刷新所有 ApplicationContext之后运行。

现在我有一个ApplicationListener<ContextRefreshedEvent>的实例,它会在我的上下文完成时进行侦听,但是在我的应用程序中为每个上下文调用它。

我怎么能听到最后一个?

我尝试使用event.getApplicationContext().getParent() == null侦听root,但这不是最后加载的上下文。

1 个答案:

答案 0 :(得分:0)

更新这不起作用;为后人保留答案。

我正在使用Spring调度程序;它似乎是唯一一个在Spring真正真正完成加载后开始的东西。 (参见here作为参考):

<task:scheduled-tasks scheduler="someScheduler">
    <task:scheduled ref="foo" method="bar"
        initial-delay="1" fixed-rate="#{ T(java.lang.Long).MAX_VALUE }" />
</task:scheduled-tasks>