在XPage中刷新配置文件

时间:2011-09-23 10:24:06

标签: java caching lotus-notes lotus-domino xpages

我在Lotus Notes中创建了一个配置文件,用于保存布尔值。然后我创建了一个XAgent,它将值作为纯文本返回(true或false)。问题是:当我在Lotus Notes客户端中更改配置文件的值时,即使我尝试刷新XAgent页面,关闭浏览器或使用其他浏览器,XAgent也不会返回更改的值。仅当我在服务器中重新启动HTTP任务('tell http restart')时才会出现更改。有没有办法立即获得新的文档配置文件值?我一直在寻找几个小时如何以编程方式清除Web服务器缓存等,但无济于事。我知道配置文件不应该经常更改,但是我为了测试而这样做。

请帮帮我。

非常感谢! :D

2 个答案:

答案 0 :(得分:5)

您是否正在使用这样的实际“个人资料”文档?

Call workspace.EditProfile("Interest Profile", session.UserName)

个人资料文档已存在很长时间,其用法非常简单,并非专为常规更新而设计。从那以后,它一直被错误地解释为流程的一般“便笺簿”。

通常,我不建议使用它们,因为Domino缓存的配置文件与HTTP无关,而且它们更难以管理。当副本在其他服务器上浮动时,这尤其困难。

因此,替代方法是使用普通文档,并通过常规getdocumentByKey方法访问它们。这允许您直接管理它们,这反过来又使维护更容易。

答案 1 :(得分:3)

出于性能原因,Domino http(和XPages)引擎会缓存页面和文档。这包括个人档案文件。

一种可行的解决方法是不通过Notes客户端更新配置文件,而是通过Web代理更新。这样,HTTP引擎正在运行代理,因此它应该能够识别配置文件已更改并且需要重建其缓存。

另一种解决方法是 - 如果这是仅限Xpages的解决方案 - 使用scoped variablesproperties files来存储信息。

除此之外,我能想到的唯一“解决方案”是用“常规”文档和视图重新实现“个人资料文档”。