XPages:应用程序范围变量的生存期是多少?

XPages:应用程序范围变量的生存期是多少?,xpages,scope,lotus-notes,lotus-domino,Xpages,Scope,Lotus Notes,Lotus Domino,A.xpages中应用程序范围变量的实际生存期是多少 B.如有必要,我如何移除/重置它? (我找不到“重新部署”或“启动-停止应用程序”之类的内容,所以我是否必须重新启动Web服务器,使用代码执行操作,只需从designer或其他任何地方重新保存我的应用程序…?)由于Name application scope变量已经告诉您,如果在xsp.properties中定义,则其生存期与应用程序运行的时间相同。如果未定义任何内容,则标准持续时间为30分钟。或来自: applicationScope持续时

A.xpages中应用程序范围变量的实际生存期是多少

B.如有必要,我如何移除/重置它?
(我找不到“重新部署”或“启动-停止应用程序”之类的内容,所以我是否必须重新启动Web服务器,使用代码执行操作,只需从designer或其他任何地方重新保存我的应用程序…?)

由于Name application scope变量已经告诉您,如果在xsp.properties中定义,则其生存期与应用程序运行的时间相同。如果未定义任何内容,则标准持续时间为30分钟。或来自:

applicationScope持续时间是WebModule持续时间。web模块在第一个请求进入时启动,并在一段不活动时间(默认为30分钟)后最终被丢弃。应用程序的每个用户在创建这些变量后都可以访问它们,因此这些变量没有隐私。applicationScope应仅用于必须在多个XPage之间共享的数据

如果您使用应用程序范围变量进行开发,您可以通过在designer中清除应用程序来重置它们。转到:Projekt=>clear

或者,如果这没有帮助,请尝试以下代码:


这将允许您在运行时重置应用程序范围,对于调试和测试非常有用

A.情况各不相同。您可以在XSP属性中设置显式超时(在Designer 9中作为应用程序配置类别下的设计元素出现;在8.5.x中,您需要通过Package Explorer导航到WebContent/WEB-INF/XSP.Properties)。否则,当Domino认为它“应该”时,它就会超时。这取决于应用程序的使用情况,因此应用程序使用得越多,除非HTTP任务(或Domino本身)重新启动,否则作用域过期的可能性就越小

要销毁整个作用域,请重新启动HTTP(或完全重新启动Domino)注意:这不是

告诉HTTP重新启动

…它只重新加载任务的某些部分,而不重新加载JVM。您需要实际重新启动任务:

Tell HTTP Quit
Load HTTP

重新启动任务HTTP

任务重新启动后,下次访问应用程序时将实例化一个新的应用程序作用域

您还可以选择性地清理范围。XPages(请求/视图/会话/应用程序)中的每个作用域都是的实例,因此每个作用域都支持该接口中定义的所有方法

我建议只删除特定项目,例如:

applicationScope.remove(“myBean”)


如果清除整个作用域而不实际销毁作用域本身(请参见上文),则可能会导致不可预测的行为,因为平台还在应用程序作用域中存储自己的信息(这也适用于其他作用域)。您应该只删除添加的范围条目。

我认为刷新设计也会清除应用程序范围变量。

在应用程序中安装,以便在开发时轻松清除范围变量。它使用的代码与此类似。正如亡灵巫师所要求的:你杀死的东西要与古老的德国谚语相匹配:除非他们有他,否则纽伯兰人不会杀死任何人。。。您应该只删除之前添加的内容。您的意思是
xsp.application.timeout
这对您有效吗?我曾经对此进行过测试(我想是在8.5.3中使用匿名用户),我的
applicationScope
变量总是在15分钟或更短的时间内消失
xsp.application.timeout
无效。
Tell HTTP Quit
Load HTTP