【问题标题】:Is it possible to have a session timeout specific to a single JSR-168 portlet application是否可以有特定于单个 JSR-168 portlet 应用程序的会话超时
【发布时间】:2015-08-03 05:08:54
【问题描述】:

我在 IBM Portal Server v6.0 中部署了 JSR-168 Portlet,但当 Portlet 达到 Portal Server 的 WebSphere 控制台中定义的最大内存会话数时,我们遇到了一些问题。

因此,我们需要调整会话超时设置。我的问题是我应该在哪里调整设置。即在 JSR-168 Portlet 中,您是否允许拥有以下内容,它会起作用吗...

<session-config>
   <session-timeout>30</session-timeout>
</session-config>

我对此感到困惑,因为我不确定在单个 Portlet 上设置会话超时是否有意义。 Portlet 只是网页上的一个小部件,如果该 Portlet 有会话超时,是否意味着该页面的其余部分超时?

或者不可能只为一个portlet 设置会话超时,因此Portlet 继承了为WebSphere 中的Portal Server 定义的会话超时设置?并有效地将会话超时设置为适用于 Portal Server 上所有页面/portlet 的参数?

谢谢

【问题讨论】:

  • 您是否检查过您的所有 Portlet 都需要会话?有时,只有 jsp 上缺少 session=false 会导致大量匿名会话

标签: java session websphere websphere-portal


【解决方案1】:

portlet,尤其是 JSR Portlet 不仅仅是页面上的一个小部件。基于 J2EE 规范,它是一个完整的服务器端应用程序,WebSphere Application 服务器为每个应用程序生成一个服务器端会话对象。 WebSphere Portal 区分 Portlet 会话和 Portal 主会话。 当 Portlet 会话为用户的全部活动保持活动状态时,Portlet 会话可能会因为不再使用而失效。 因此,Portlet 会话的超时不会影响 Portal 会话,但在 Portal 会话注销或超时时,所有关联的 Portlet 会话都会失效。

【讨论】:

  • 感谢 Stefan 提供的信息。它真的对我有帮助。因此,如果我要向我的 portlet 添加一个 10 分钟的会话超时,那么 portlet 会话将在该时间之后超时,但它不会使 Portal 会话超时。我理解正确吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多