I would like to initialize my local data store with some data using a regular Java program (I do not want to start the Development Server и вызвать службу / сервлет), и я получаю следующее исключение
EXCEPTION:
Исключение в потоке "main" java.lang.NullPointerException: для этого потока не зарегистрировано среды API.
в com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId (DatastoreApiHelper.java:108)
в com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace (DatastoreApiHelper.java:118)
в com.google.appengine.api.datastore.Key. (Key.java:104)
в com.google.appengine.api.datastore.Key. (Key.java:88)
в com.google.appengine.api.datastore.Key. (Key.java:84)
в com.google.appengine.api.datastore.Entity. (Entity.java:122)
в com.google.appengine.api.datastore.Entity. (Entity.java:103)
в org.datanucleus.store.appengine.DatastoreFieldManager. (DatastoreFieldManager.java:187)
в org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPreProcess (DatastorePersistenceHandler.java:338)
в org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects (DatastorePersistenceHandler.java:251)
в org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject (DatastorePersistenceHandler.java:240)
в org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent (JDOStateManagerImpl.java:3185)
в org.datanucleus.state.JDOStateManagerImpl.makePersistent (JDOStateManagerImpl.java:3161)
в org.datanucleus.ObjectManagerImpl.persistObjectInternal (ObjectManagerImpl.java:1298)
в org.datanucleus.ObjectManagerImpl.persistObject (ObjectManagerImpl.java:1175)
в org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent (JDOPersistenceManager.java:669)
в org.datanucleus.jdo.JDOPersistenceManager.makePersistent (JDOPersistenceManager.java:694)
в com.stuff.server.GreetingServiceImpl.saveContact (GreetingServiceImpl.java:25)
на com.stuff.server.TestCase.testServerCallBack (TestCase.java:18)
на com.stuff.server.TestCase.main (TestCase.java:13)
TestCase.java
открытый класс 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
}
}
приветствие ..... impl.java
открытый класс GreetingServiceImpl расширяет RemoteServiceServlet, реализует
GreetingService {
public String greetServer(String input) throws IllegalArgumentException {
return "";
}
@Override
public void saveContact(Contacts contacts) {
PersistenceManager pm = PMF.get().getPersistenceManager();
pm.makePersistent(contacts); //line:20
pm.close();
}
}
Есть ли способ сделать это? Как?