什么时候在Spring中激活了ContextRefreshedEvent?

时间:2016-10-08 16:52:57

标签: spring

我知道在ApplicationContext完全加载时会被触发一次,但是在运行时呢?单词“Refreshed”意味着它将在刷新时触发,但我想知道Spring有资格作为ApplicationContext刷新吗?

后续问题: 这个事件可以由并发线程触发吗?我是否需要为此事件线程安全地使用EventHandler?

1 个答案:

答案 0 :(得分:6)

在加载/刷新属性,xml或任何模式文件时触发它,http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/support/AbstractApplicationContext.html#refresh--

  

加载或刷新配置的持久表示,   可能是XML文件,属性文件或关系数据库   架构。

它通常由spring隐式触发,但是你应该能够在某些情况下触发它,但是这里是java doc说的,当发生这种情况时

  

由于这是一个启动方法,它应该销毁已经创建的   单身如果失败,避免悬空资源。换一种说法,   在调用该方法之后,根本不是全部或不是单身   应该实例化。