我正在开发一个带有Google App Engine Java端点模块的Android应用程序作为后端,并使用Objectify框架与数据存储区进行通信。我有两个实体:父和子,以及他们自动生成的Cloud Endpoints类。有时当我启动本地服务器时,我收到以下错误:
信息:Gradle:执行任务:[:api:assemble] 信息:编译在40秒内完成,包含1个错误和0个警告 信息:1错误 信息:0警告
错误:Gradle:任务执行失败':api:appengineEndpointsGetDiscoveryDocs'。
运行端点命令时出错get-discovery-doc:503服务不可用 { “错误”:{ “错误”:[ { “域名”:“全球”, “reason”:“backendError”, “消息”:“后端错误” } ] “代码”:503, “消息”:“后端错误” } }
启动服务器时会随机出现此错误消息。有时它会正常启动,但有时我必须清理项目并在服务器运行之前重启服务器2-3次。错误消息略有不同。有时它会生成相同的503,但却无法获得客户端库。
错误:Gradle:任务执行失败':api:appengineEndpointsGetClientLibs'。
我不知道为什么会发生这种情况,并且想知道是否有人对此有所了解。
我已将两个端点添加到web.xml文件中,如下所示:
<servlet>
<servlet-name>SystemServiceServlet</servlet-name>
<servlet-class>com.google.api.server.spi.SystemServiceServlet
</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value>
com.example.backend.ParentEndpoint,
com.example.backend.ChildEndpoint
</param-value>
</init-param>
</servlet>
@Entity
public class Parent {
@Id
Long id;
String name;
Ref<Child> child;
public Parent(){}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Child getChild() {
return child.get();
}
public void setChild(Child child) {
this.child = Ref.create(child);
}
}
@Entity
public class Child {
@Id
Long id;
String name;
public Child(){}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}