当前位置: 首页 > 知识库问答 >
问题:

如何以正确的顺序销毁bean(使用的会话和单例作用域)?

谢宸
2023-03-14

我正在用Spring开发一个web应用程序,它有两种类型的bean作用域--singleton和session。会话级bean使用由单例提供的不同服务。其中一个服务负责从用户会话中清理文件。这在正常使用下工作正常,但当应用程序正在关闭时,它就失败了。会话级bean在单例之后被销毁。这意味着会话bean请求服务已经被销毁。

我的应用程序所需的bean销毁顺序是:

    null

共有1个答案

魏晨
2023-03-14

我的解决方案是创建会话管理器服务。此服务监视会话,并在@predestroy事件上使所有注册的会话无效,从而破坏所有会话作用域对象。现在一切都收拾得很好。

 类似资料:
  • 有没有办法销毁特定类的所有创建的会话范围bean(并在需要时让spring重新创建)? 例如,两个用户访问应用程序,然后每个用户将有一个bean。我想毁掉这两颗豆子。 用例: 管理员正在更新菜单栏。菜单栏列表数据存储在会话范围的bean中。管理员的bean应该被销毁,菜单栏应该被更新。当然,其他人的菜单也应该更新,所以其他bean也应该被销毁。 注1:不同的用户可能会看到不同的菜单,因此bean是

  • 问题内容: 我正在尝试正确注销管理员用户。这是我的功能: 基本上,一旦我对密码进行了身份验证,就将会话设置为有效(总共只有1个用户)。现在,当管理员点击注销时,我想销毁当前会话,并销毁cookie,以便他们不能只是使用浏览器中存储的会话cookie返回管理页面。但是我的代码不起作用。我点击注销,然后我可以直接导航回到管理页面。但是,如果我删除Cookie,则该功能非常完善。那么这里的cookie删

  • 我是ejbs的新手,我想知道有状态会话bean是否会被销毁。我在servlet中注入了一个有状态会话bean。即使在30分钟后,我看到豆子是活跃的。我使用jboss eap 6.0。我相信Http会话与有状态会话bean无关。我使Http会话无效,以确保Http会话与有状态会话bean无关。那么,如果我的应用程序有许多用户,并且对于每个用户,如果我创建一个新bean,我的服务器的性能就会下降。容器

  • 即使在注销后,会话仍保持活动状态。 这是我的登录文件。 公共函数loginAsAdmin($wpUserName,$wpPassword){ } 细节 代码欺骗版本: 2.2.10 PHP版本:操作系统: OS X安装类型:作曲家安装包列表(作曲家显示)我正在使用Lucatume/wp浏览器包进行代码欺骗 这是我的套件配置: class_name:AcceptanceTester模块: 这很好,我

  • 我有一个会话作用域bean,它使用代理注入到单例bean中。 从单例bean中,我需要调用会话作用域bean的某个初始化方法,它需要单例bean作为参数。此外,我不能改变会话范围bean的来源。 为了详细说明这个情况: 单例bean是一个服务,会话范围bean是一个Vaadin4Spring事件总线,为此我需要调用方法。 似乎没有办法检查,如果我已经订阅,并且我不能在某个实例上两次调用订阅。 有没

  • > 在EJB3.0及其之前的版本中,该问题是如何处理的? 如果它保留了客户端特定的会话状态,那么单个实例将拥有所有客户端(试图并发访问)的特定数据?它会安全吗?? 如果我们可以在其他会话bean中使用静态最终变量和静态初始值设定项块或静态方法来初始化它们(因为静态变量也是每个类的数据,而不是每个实例的数据),以便跨bean共享公共数据,那么单例会话bean需要什么呢? 在singleton中使用业