【问题标题】:Does the persistanceManager close automaticly when servlet is over?当 servlet 结束时,persistenceManager 会自动关闭吗?
【发布时间】:2015-01-07 22:29:06
【问题描述】:

我目前正在使用数据存储和 JDO 为 GAE 进行开发。我的问题很简单,在我从数据存储中获取实体并修改它(不使用分离)后,我必须通过PersistanceManager.close() 关闭persistanceManager。但是,如果我不关闭它并且 servlet 已经结束并且其中的所有内容都被处理掉了,会发生什么? persistanceManager 会自动关闭吗?或者它可能会与实体保持开放连接?

【问题讨论】:

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


    【解决方案1】:

    根据文档 [1],当 PersistenceManager 关闭时,只有在对象上所做的修改才会反映或更新数据存储。所以这就是为什么需要关闭persistencemanager。

    如果您不关闭persistancemanager,您的更改可能不会反映或更新到数据存储区中。

    [1] 使用 JDO 更新对象: https://cloud.google.com/appengine/docs/java/datastore/jdo/creatinggettinganddeletingdata#Updating_an_Object

    【讨论】:

      【解决方案2】:

      它怎么知道它不再有用了?公开可用的 JDO 规范清楚地表明您必须关闭您的 PM,就像您必须关闭您的查询一样。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-24
        • 1970-01-01
        • 1970-01-01
        • 2015-02-04
        相关资源
        最近更新 更多