如何防止单例bean被ApplicationContext刷新破坏

| 我有一个单例bean,在刷新ApplicationContext时将其销毁。该bean是会话注册表,用于跟踪会话(duh)。在最初配置我的应用程序之后,我使用ApplicationContext的刷新来获取新配置。但是,由于会话本身尚未结束,因此不应销毁SessionRegistry。因此,我需要从ApplicationContext的刷新所引起的肆意破坏中排除SessionRegistry。是否有一个相当简单的方法来执行此操作,还是必须实现自己的ApplicationContext版本并重新编码其方法? 编辑:所以我最终要做的是重写sessionregistry以使它成为真正的单例,从session注册表中获取所有会话,从applicationcontext中删除该listregistry作为列表​​器,然后在sessionsession重新创建后重新添加会话。     
已邀请:
        我猜您可以使用
@PreDestroy
方法将当前状态传输到
static
字段,并在
@PostConstruct
上读取该字段以恢复Bean数据。 请注意,在上下文中,spring bean是单例的。如果上下文消失,则Bean死亡。如果存在多个上下文,则Bean可以具有多个实例。因此,使用“ 1”表示“更单身”。     

要回复问题请先登录注册