我使用 Spring Boot 和 Objectify 作为持久层。它正在部署到Flexible App Engine。 在每个实体中我都有一个 block :
static {
ObjectifyService.register(LsUser.class);
}
尝试从 Controller 类运行此代码时:
ObjectifyService.run(new VoidWork() {
@Override
public void vrun() {
ofy.save().entity(new User())).now();
}
});
运行时出现下一个错误:
java.lang.NullPointerException: No API environment is registered for this thread.
at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppId(DatastoreApiHelper.java:180) ~[appengine-api-1.0-sdk-1.9.30.jar:na]
at com.google.appengine.api.datastore.DatastoreApiHelper.getCurrentAppIdNamespace(DatastoreApiHelper.java:196) ~[appengine-api-1.0-sdk-1.9.30.jar:na]
at com.google.appengine.api.datastore.Key.<init>(Key.java:96) ~[appengine-api-1.0-sdk-1.9.30.jar:na]
最佳答案
Objectify 仅适用于 App Engine 标准环境和 App Engine 灵活环境 (compat),目前已弃用。您应该改用 gcloud-java。
关于java - Spring Boot 与 Objectify,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40795082/