我會很感激,如果有人可以指點我的教程或最佳做法如何關閉 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結束之後訪問的東西? – DataNucleus 2011-04-18 12:48:17
如果我包含finally塊,我得到的持久性管理器已關閉錯誤。所以我徹底刪除了它。當我這樣做時,代碼運行良好,但日誌仍抱怨「持久性管理器已關閉」。有了這個,我無法檢索存儲在Spring Controller GET請求中的ModelAttribute中顯示的數據。 – drecute 2011-04-19 10:26:06
但是你還沒有說過在PM的「關閉」中發生了什麼,或者你的「finally塊」中有什麼代碼。日誌告訴你發生了什麼,但我們沒有看到它 – DataNucleus 2011-04-19 11:07:46