【发布时间】:2011-08-07 20:02:57
【问题描述】:
如果有人可以为我提供有关如何关闭的教程或最佳实践,我将不胜感激
JDO 连接。
每当我包含 finally 块时,我都会不断收到 javax.jdo.JDOUserException: Object Manager has been closed 错误。
我的代码如下:
public static List<AgentEntity> findAgentEntityByString(String id) {
List<AgentEntity> agententity = new ArrayList<AgentEntity>();
if (id == null) {
return null;
}
try {
Query q = pm.newQuery("select id from " + AgentEntity.class.getName());
agententity = (List<AgentEntity>) q.execute();
} catch(Exception ex) {
log.warning(ex.getMessage());
}
return agententity;
}
问候
【问题讨论】:
-
也许可以解决“最终”中发生的情况(我在您的示例中没有看到)。也许事情正在分离?或者您是在 PM 关闭后访问的事情?
-
如果我包含 finally 块,我得到持久性管理器已关闭错误。所以我直接删除了它。当我这样做时,代码运行良好,但日志仍然抱怨“持久性管理器已关闭”。有了这个,我无法在要显示的 Spring Controller GET 请求中检索存储在我的 ModelAttribute 中的数据。
-
但是你还没有说在 PM 的“关闭”中发生了什么,或者你的“finally 块”中有什么代码。日志告诉你发生了什么,但我们看不到它
-
最终在@DataNucleaus,
finally { pm.close();}
标签: google-app-engine jdo