【发布时间】:2012-10-05 06:40:54
【问题描述】:
我有一个缓存 bean,用于在应用程序中查找/存储有关对象的信息。我想尽可能少地获取视图,因为我想每个 Database.getView 都会有一些成本。
触发“视图已被回收”的最便宜的方法是什么?
【问题讨论】:
-
我也有这个问题,但是自从阅读了 Paul Withers 的 intec.co.uk/… 之后,我就不再缓存 Domino 对象了。我现在只缓存文档字段中的 UNID 或值。正如 Nathan 在 cmets 中所说,我们可以在 Domino 对象中使用“isRecycled()”方法。
-
我从不缓存文档。我想缓存视图的原因是文档查找是临时的/每个项目。当 bean 数据不再是最新的时,文档值被读入 bean。有时可能有 100 多个查找 (=100+ getView)。当视图没有被缓存时,我仍然可以获得很好的性能,但是如果我能获得更好的性能,那就太好了:)
-
您可以预期每个 Notes 对象在请求阶段后都会被回收。
-
您可以在调用者中初始化视图并将其作为参数传递给每个方法调用。例如,在 XPage 中定义视图并在每次进行查找时将其作为参数传递给 Java 方法或 bean。我想你会在一个请求中被保存
-
关于这个问题的一切都发生在 bean 中,但您的建议仍然有效。这将负责为每次查找执行 getView。看起来几乎没有实验来检查视图是否已被回收,所以我可能会避免这个问题并在需要的地方编写几行额外的代码。公共 isRecycled 方法会很好:)
标签: xpages lotus-domino