未能关闭查询或持久性管理器会产生什么后果?

时间:2010-10-05 23:12:20

标签: google-app-engine google-cloud-datastore jdo datanucleus

我从每个示例中都看到了appengine数据存储区,使用try {} finally {}块来包围查询执行等非常重要,以确保查询始终处于关闭状态。

如果查询或持久性管理器未关闭但超出范围,会发生什么?一个实体是否永远无法进入?

1 个答案:

答案 0 :(得分:0)

  

Closing a PersistenceManager   可能会把它释放到池中   可用的PersistenceManagers,或   可能是垃圾收集,在   JDO实现的选项。

我对此的解释是,如果你让PersistanceManager超出范围而不关闭它,那么它被垃圾收集并且不会被释放到池中可用的PersistenceManagers,如果没有更多可用的PersistenceManagers,则在调用PersistenceManagerFactory.getPersistenceManager()时可能会导致额外的开销。