2

在 Google App Engine Java 中,我正在尝试运行后端,但我总是在后端日志中收到错误消息。

进程终止,因为它未能使用 HTTP 状态代码 200-299 或 404 响应启动请求。

App Engine 日志

2014-12-07 11:06:31.944 /_ah/start 302 4842ms 0kb instance=0 module=default version=testservice
0.1.0.3 - - [06/Dec/2014:21:36:31 -0800] "GET /_ah/start HTTP/1.1" 302 231 - - "0.testservice.testapp.appspot.com" ms=4842 cpu_ms=7626 cpm_usd=0.000026 loading_request=1 exit_code=107 instance=0 app_engine_release=1.9.16 

com.test.AppFilter doGet:过滤器启动..!

此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,与您的应用程序的典型请求相比,此请求可能需要更长的时间并使用更多的 CPU。2014-12-05 11:02:16.916

进程终止,因为它未能使用 HTTP 状态代码 200-299 或 404 响应启动请求。

请帮忙。

4

1 回答 1

6

当模块(或以前的版本:后端)启动时,Google App Engine 编排器将 HTTP 请求发送到/_ah/start. 您可以使用此 HTTP 请求来执行您希望的任何初始化操作。

200如日志消息中所述,此 HTTP 请求必须返回介于和之间的 HTTP 状态代码299(表示请求已正确处理)或404 Not Found(表示您未将任何 servlet 或过滤器附加到此请求)。

所有这些都在此页面上的 Google 文档中进行了解释。

答案是302 Redirect。这通常由重定向到身份验证屏幕的安全过滤器触发。

如果您定义了处理/_ah/startURL 的自定义安全过滤器或 servlet,请确保它返回200HTTP 代码。

如果您<security-constraint>在此 URL 上设置了 a(除了强制 SSL),请将其删除。

于 2014-12-08T16:14:17.137 回答