首页  :: 新随笔  :: 管理

GAE Exception: Object Manager has been closed

Posted on 2010-02-10 11:17  季枫  阅读(519)  评论(0编辑  收藏  举报

Root cause:
org.datanucleus.exceptions.NucleusUserException: Object Manager has been closed

Are you using Google App Engine for java and JDO?
If you ask for a list of something you might have to call the method size(). (studip i know)

Thecode below would throw org.datanucleus.exceptions.NucleusUserException:"Object Manager has been closed" if we removed the call to size()

public List<Customer>getAllCustomers()
{
    List<Customer> customers = new ArrayList();
    PersistenceManager pm = pmfInstance.getPersistenceManager();
    String query = "select from " + Customer.class.getName();
    customers = (List<Customer> pm.newQuery(query).execute();
    customers.size();
    pm.close();
    return customers;
}

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |