serverSessionTimeout 不工作 IBM Worklight
Posted
技术标签:
【中文标题】serverSessionTimeout 不工作 IBM Worklight【英文标题】:serverSessionTimeout not working IBM Worklight 【发布时间】:2014-02-25 15:41:18 【问题描述】:我在 worklight 属性文件中添加了 serverSessionTimeout=3,我在 WAS 服务器中对其进行了编辑并重新启动了应用程序,但是当我测试应用程序并让它闲置 3 分钟时,我看不到服务器会话时间自动退出,我们需要在移动客户端上调用什么来检查服务器会话超时是否完成。请帮忙
谢谢 djrecker
【问题讨论】:
【参考方案1】:请查看以下文档以更好地了解 serverSessionTimeout 和 heartbeat 属性如何相互影响以及其他调整机制:
http://pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fadmin%2Fc_optimizing_and_tuning_of_ibm_wl_server.html
特别是“Worklight Server 内部配置”部分:
“考虑以下因素:
会话是存储在每个连接设备的服务器内存中的对象。除其他外,它存储身份验证信息。活动会话数是打开的会话数与因不活动而超时的会话数之差。 serverSessionTimeout 属性配置会话超时并影响服务器内存消耗。默认会话超时为 10 分钟。 移动客户端“heartbeat”属性导致移动客户端在应用程序处于前台时对服务器执行 ping 操作。此功能可防止服务器会话超时。 当移动应用程序在后台运行时,它不再与服务器交互或发送“心跳”。服务器会话在指定的服务器会话超时期限后断开。 例如,假设每分钟有 1,000 个用户启动与服务器的会话。即使他们在 3 分钟后退出应用程序,他们的会话也会在服务器上保持活动 10 分钟,留下 10 x 1,000 = 10,000 个活动会话。 "【讨论】:
【参考方案2】:您可以尝试使用禁用心跳
WL.Client.setHeartBeatInterval(-1)
可能在您的应用初始化期间
文档位于:
http://pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/index.jsp?topic=%2Fcom.ibm.worklight.help.doc%2Fapiref%2Fr_wl_client_setheartbeatinterval.html
这样,会话超时也可以与前台的应用一起使用。
【讨论】:
【参考方案3】:如果应用在前台,会发送心跳消息 到服务器,会话不会超时。 因此,应用程序应置于后台以发生超时。 如果这没有帮助,请尝试测试 10 分钟, 因为这是默认的会话超时值。
通常 serverSessionTimeout 的值大于 心跳间隔,以便会话在空闲时保持活动状态,并且 只要应用程序在前台。 所以只要应用程序在前台, 按照设计,它永远不会使会话无效。 但另一方面,如果它是背景的,那么就没有心跳 然后在后台状态下超过默认的 10 分钟,会话 无效。这就是这里的意图。
【讨论】:
感谢您的回答,我希望这可以在前台工作。现在我很清楚这仅适用于应用程序处于后台状态时。以上是关于serverSessionTimeout 不工作 IBM Worklight的主要内容,如果未能解决你的问题,请参考以下文章
马上五十岁了,工作得很不开心,非常郁闷,工作重要还是生活重要?