application设置过期。过期的application会一直残留在服务器吗?

Demonor_ 2018-02-09 08:58:37
我的想法:用户通过ajax发送数据到服务器,服务器接收数据,将数据保存在application.setAttribute()里面,,另外一个监听事件检测这些attribute是否有数据,有数据的话,监听事件的ajax将数据从attribute中取出来,封装成JSONObject对象返回,返回之后通过removeAttribute(data)移除所有数据的attribute.。不考虑高并发的情况下,若服务器出现一点毛病或者其他原因(比如网络等)造成removeAttribute(data)失败,,,那么,,该attribute将会一直存在,知道服务器重启,然而,我们的服务器是从不重启的。那么问题来了,残留的application的attribute将如何处理?残留堆积下来,慢慢的内存就满了,严重的可能导致崩溃。我的想法是设置application过期(application.setSessionTimeout(int i)),但是这样做会不会将我登录用到的application也过期了?过期还不是主要问题,主要问题是,过期的application是否依然一直占用内存?上面有3个问题,希望各位大牛提供一下宝贵意见。小白们也可以自由发挥哟。
(注:用过session,但是session拿不到数据,所以各位大牛不要说session方面的东西,能用session我就不会用application了)
...全文
1036 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
maradona1984 2018-02-09
  • 打赏
  • 举报
回复
放到application的数据基本是不需要过期的,过期的就不应该放到里面 有很多方案可以达到同样效果,我不太清楚你的业务场景是啥
幽饮烛 2018-02-09
  • 打赏
  • 举报
回复
application 不会过期。 自己增加的内容,自己移除。

50,533

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧