初始化本地数据存储异常:没有为此线程注册API环境

2023-11-27

我想使用一些数据来初始化我的本地数据存储 常规Java程序(我不想启动开发服务器 并调用服务/servlet),我收到以下异常

例外 :



Exception in thread "main" java.lang.NullPointerException: No API environment is registered for this thread.
    at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:108)
    at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java:118)
    at com.google.appengine.api.datastore.Key.(Key.java:104)
    at com.google.appengine.api.datastore.Key.(Key.java:88)
    at com.google.appengine.api.datastore.Key.(Key.java:84)
    at com.google.appengine.api.datastore.Entity.(Entity.java:122)
    at com.google.appengine.api.datastore.Entity.(Entity.java:103)
    at org.datanucleus.store.appengine.DatastoreFieldManager.(DatastoreFieldManager.java:187)
    at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPreProcess(DatastorePersistenceHandler.java:338)
    at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects(DatastorePersistenceHandler.java:251)
    at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject(DatastorePersistenceHandler.java:240)
    at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent(JDOStateManagerImpl.java:3185)
    at org.datanucleus.state.JDOStateManagerImpl.makePersistent(JDOStateManagerImpl.java:3161)
    at org.datanucleus.ObjectManagerImpl.persistObjectInternal(ObjectManagerImpl.java:1298)
    at org.datanucleus.ObjectManagerImpl.persistObject(ObjectManagerImpl.java:1175)
    at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent(JDOPersistenceManager.java:669)
    at org.datanucleus.jdo.JDOPersistenceManager.makePersistent(JDOPersistenceManager.java:694)
    at com.stuff.server.GreetingServiceImpl.saveContact(GreetingServiceImpl.java:25)
    at com.stuff.server.TestCase.testServerCallBack(TestCase.java:18)
    at com.stuff.server.TestCase.main(TestCase.java:13)
  

测试用例.java



public class TestCase {
    static GreetingServiceImpl greetingServiceImpl = new GreetingServiceImpl();  

public static void main(String[] args) {
    testServerCallBack();//line9
}

private static void testServerCallBack() {
    Contacts contacts = new Contacts("this is", "awesome");
    greetingServiceImpl.saveContact(contacts);//line:14
}

}


Google 提供了一个帮助程序类,它可以完全满足您的需求 - 运行足够的代码来处理数据库,而无需启动整个开发服务器。请参阅setUp and tearDown方法在http://code.google.com/appengine/docs/java/tools/localunittesting.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初始化本地数据存储异常:没有为此线程注册API环境 的相关文章

随机推荐