Spring触发器触发2次问题【转】

触发2遍任务对大多数程序而言,都会造成 数据重复 和 资源浪费.

我们在写spring触发器的timetrigger.xml配置文件的时候,

千万不要在Spring的总配置文件applicationContext.xml文件中.

那样会导致程序读取2次触发bean,从而实例化2份,最终在程序运行时有可能连续调度2遍.

我们应当把trimetrigger.xml直接配置成web.xml的contextConfigLocation中去,如下:

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/testdemo/config/application-Context.xml,classpath:com/testdemo/config/timetrigger.xml</param-value>
</context-param>

spring 的 quartz 加载两次原因 :

  1. web容器启动的时候,读取applicationContext.xml一次
  2. Spring本身又会去加载applicationContext.xml一次.

最终就这样实例化了两次.

posted @ 2015-08-04 16:34  苦涩泪滴  阅读(373)  评论(0编辑  收藏  举报