在我的基于Spring的Java项目中,我的项目的启动任务似乎被加载了两次。 根据以下要点的信息,任何人都有任何想法为什么会发生这种情况? https://gist.github.com/anonymous/bf5b01686f03dadc57c7
WebappStartupTasks类中的输出将被打印两次到控制台。 它可能与我如何设置我的xml文件有关,但我似乎无法找到发生这种情况的原因
谢谢 达明
答案 0 :(得分:2)
这很正常。
您可以告诉使用该事件的上下文:event.getApplicationContext()
并根据您的要求仅在ContextLoaderListener
或DispaterServlet
时触发。
如果您唯一担心的是功能只运行一次,那么我认为您最好的方法是独立维护初始化状态。我过去使用一个简单的静态标志完成了这个:
if(!SchedulerContextListener.INITIALISED) {
initialise();
SchedulerContextListener.INITIALISED = true;
}