我从每个示例中都看到了appengine数据存储区,使用try {} finally {}块来包围查询执行等非常重要,以确保查询始终处于关闭状态。
如果查询或持久性管理器未关闭但超出范围,会发生什么?一个实体是否永远无法进入?
答案 0 :(得分:0)
Closing a PersistenceManager 可能会把它释放到池中 可用的PersistenceManagers,或 可能是垃圾收集,在 JDO实现的选项。
我对此的解释是,如果你让PersistanceManager超出范围而不关闭它,那么它将被垃圾收集并且不会被释放到池中可用的PersistenceManagers,如果没有更多可用的PersistenceManagers,则在调用PersistenceManagerFactory.getPersistenceManager()时可能会导致额外的开销。