【问题标题】:Polling with session idle timeout使用会话空闲超时轮询
【发布时间】:2013-03-31 19:49:25
【问题描述】:

我正在对 Tomcat 中的所有应用程序使用单点登录。我的要求是,我必须轮询应该从后端获取的事务的状态。但它也不应该影响会话的空闲超时。

有人可以建议是否可以做点什么吗?

感谢

【问题讨论】:

  • 你的问题体现了一个矛盾的术语。

标签: java web-services tomcat single-sign-on


【解决方案1】:

我不知道是否有标准的方法可以做到这一点。如果没有,您可以编写一个过滤器。

在过滤器中,忽略不计数的请求(例如您的轮询请求)。

对于其他请求,请检查上次请求时间(您应该已保存在会话中)。如果已经过去了足够长的时间,则结束会话。否则,保存新时间。

显然,您必须看看这会增加多少开销,但是——通过一些调整——它应该可以工作。

【讨论】:

    【解决方案2】:

    简单的方法是创建一个名为 PulseServlet 的 Servlet,并定期从 Javascript 或 JQuery AJAX 代码调用它以获取状态。但是,这会影响服务器上的会话超时。在不影响会话超时的情况下,您不能这样做。但是,如果您真的希望会话超时不受影响,则需要以编程方式重置会话超时。

    【讨论】:

    • 您能否以编程方式解释更多重置会话超时?
    • 当您说后端时,您是在尝试从同一个 Web 应用程序获取状态还是指数据库无关紧要?
    • 简单的方法,但它不这样做?
    • 确实如此。我的解决方案有什么问题?
    猜你喜欢
    • 2013-06-18
    • 2012-02-17
    • 2014-04-24
    • 1970-01-01
    • 2022-08-17
    • 2022-10-04
    • 2021-03-07
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多