application设置过期。过期的application会一直残留在服务器吗?
我的想法:用户通过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了)