【发布时间】:2021-12-24 15:57:31
【问题描述】:
我的项目中使用shiro,但是程序运行一段时间后,fullgc频繁出现。我生成了一个dump文件,发现有大量的“standradSession”类,gc无法清除。
怀疑: Shiro使用重定向功能访问不存在的接口,好像在跳转前会保存当前会话信息,如图。 是否与关闭tomcat自带的清理seesion的daemon线程有关?
【问题讨论】:
我的项目中使用shiro,但是程序运行一段时间后,fullgc频繁出现。我生成了一个dump文件,发现有大量的“standradSession”类,gc无法清除。
怀疑: Shiro使用重定向功能访问不存在的接口,好像在跳转前会保存当前会话信息,如图。 是否与关闭tomcat自带的清理seesion的daemon线程有关?
【问题讨论】:
我猜这可能与您使用的会话管理类型有关。您是否使用 Shiro 或 Tomcat 的内存会话管理? 如果没有,您的会话是如何存储的?缓存或 TTL 对它们来说是什么样的?
不过,我并没有完全理解您的疑问,您可能需要添加一个编辑来解释您的 Web 应用程序会话的配置方式、您看到的负载类型等。
有关 Shiro 会话管理的更多信息:https://shiro.apache.org/session-management.html
【讨论】: