超时后从ServletContext中删除属性

时间:2017-08-30 14:52:11

标签: java jersey servlet-3.0

我正在实现由java rest services(jersey)备份的Web应用程序。

使用javascript,我在localhost中调用由用户必须安装的第三方应用程序创建的服务。该应用程序调用服务在同一个webapp中对PDF文件进行数字签名,但该调用没有我的页面具有的会话ID,因此我无法访问会话属性。

为了避免这种情况,在调用第三方应用程序之前,我使用javascript来调用我的webapp中的服务,该服务在ServletContext中创建一个属性,稍后我从用于签署PDF文件的服务中访问该属性。

如果调用成功,我可以轻松删除该属性,但如果某个调用有错误,该属性可能会无限期地保留在ServletContext中。

有没有办法在超时后删除ServletContext属性?

1 个答案:

答案 0 :(得分:0)

请您详细解释一下流程,有一些序列图或什么? 从描述看起来看起来是一个非常复杂的实现。 ServletContext是应用程序级数据,并且在其中存储会话级别信息必然会失败。还有一个以上的用户同时使用该应用程序。在服务器上存储状态也违反了REST的原则。