Eclipse 如何清除会话?

Eclipse 如何清除会话?,eclipse,eclipse-rap,Eclipse,Eclipse Rap,由此我看到,对于RAP UI的每个实例,都会创建一个单独的UI会话。这意味着当用户访问入口点时,这是一个新的UI会话。当用户在浏览器中重新加载页面时,这也是一个新的界面。 在我的应用程序中,当浏览器刷新时(通常通过点击F5或关闭浏览器并再次打开),从MAT(内存分析器工具)报告中,我看到一个叫做UISessionImpl的东西在浏览器刷新时被创建。这意味着创建了新的UISession,但旧会话仍然存在 所以我的问题是“如何在每次浏览器刷新时清除会话?” 编辑 我的代码: RWT.getUISes

由此我看到,
对于RAP UI的每个实例,都会创建一个单独的UI会话。这意味着当用户访问入口点时,这是一个新的UI会话。当用户在浏览器中重新加载页面时,这也是一个新的界面。

在我的应用程序中,当浏览器刷新时(通常通过点击F5或关闭浏览器并再次打开),从MAT(内存分析器工具)报告中,我看到一个叫做UISessionImpl的东西在浏览器刷新时被创建。这意味着创建了新的UISession,但旧会话仍然存在

所以我的问题是“如何在每次浏览器刷新时清除会话?”

编辑

我的代码:

RWT.getUISession(myDisplay).exec(new Runnable() {
  @Override
  public void run() {
    RWT.getRequest().getSession().setMaxInactiveInterval(1);
  }
});
请查看此链接:

“在最新的浏览器中,当客户端的浏览器窗口/选项卡关闭时,UI会话将自动销毁。对于较旧的浏览器,HTTP会话超时用于检测用户是否已离开应用程序。”
请注意,使用RAP启动器时,默认情况下HTTP会话永不过期。要更改超时值,请调整“主”选项卡上的设置

你提到的链接写的是RAP2.0,也许你需要更新到最新版本2.3

您可以按如下方式减少会话超时值:

RWT.getRequest().getSession().setMaxInactiveInterval(...);
要在刷新时清除会话,您可以执行以下操作:

RWT.getRequest().getSession().setMaxInactiveInterval(0);

你的答案是关于HTTPSession的,但我的问题是UISession。据我所知,UISession连接到HTTPSession,销毁HTTPSession会销毁UISession。我试过了,但没用。会话仍然有效。添加了我的代码。您在哪里执行此代码?它应该处于初始化点。您是否从eclipse(使用RAP启动器)启动应用程序?请注意,在使用RAP启动器时,默认情况下HTTP会话永不过期。要更改超时值,请调整“Main”选项卡上的设置。此代码从ApplicationEntryPoint类中的createUI()方法调用。