【问题标题】:Global destroy method for all the bean in SpringSpring中所有bean的全局销毁方法
【发布时间】:2017-04-13 05:39:50
【问题描述】:

我正在开发一个 spring 项目,并且需要在销毁每个 bean 时应用功能。
我只想知道是否有任何全局销毁方法会在任何对象被销毁时被调用在所有bean中指定destroy方法。

谢谢。

【问题讨论】:

  • 上下文中可能会有数百个不同的bean,你为什么要对它们中的每一个进行“销毁”
  • 在应用程序中维护了一张未销毁对象的地图。并且在销毁任何对象时,应将其从地图中删除。
  • 为什么这个问题被否决了?当任何 bean 被销毁时,我可以看到有很多原因可以添加监听器钩子。就我而言,我有一个 pub sub,任何 bean 都可以使用注释注册。当任何 bean 被销毁时,如果它当前已向 pub sub 注册,我想取消注册该 bean。如果没有这个,我必须在应用程序中的每个 bean 上添加相同的销毁方法。

标签: java spring destroy


【解决方案1】:

从包含destroy方法的超类扩展bean类。

【讨论】:

    【解决方案2】:

    DestructionAwareBeanPostProcessor 看起来可以解决问题。您可以检查 bean 和 bean 名称来进行处理

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-09
      • 2010-10-12
      • 2014-12-22
      • 2017-11-29
      • 1970-01-01
      相关资源
      最近更新 更多