有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java GAE抛出非法状态异常:WRITER

我有一个GAE+Java+Spring应用程序,带有非常简单的控制器:

@RequestMapping(value = ['/_warmup', '/_ah/warmup'])
@ResponseBody
String warmup() {
    return 'OK'
}

它只返回字符串,当我从浏览器调用这个url时,我会毫无问题地得到它

顺便说一句,当它部署在GAE上,并且被GAE调用时,我在日志中看到以下异常:

java.lang.IllegalStateException: WRITER
    at org.mortbay.jetty.Response.getOutputStream(Response.java:594)
    at javax.servlet.ServletResponseWrapper.getOutputStream(ServletResponseWrapper.java:102)
    at org.springframework.http.server.ServletServerHttpResponse.getBody(ServletServerHttpResponse.java:64)
    at org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:99)
    at org.springframework.http.converter.StringHttpMessageConverter.writeInternal(StringHttpMessageConverter.java:1)
    at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:181)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.writeWithMessageConverters(AnnotationMethodHandlerAdapter.java:975)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter$ServletHandlerMethodInvoker.handleResponseBody(AnnotationMethodHandlerAdapter.java:933)

正如我所见,我使用了相同的消息转换器,但总是得到非法的Jetty状态。有人有同样的问题吗

PS当我试图在生产服务器上从浏览器打开这个url时,它也能工作。只有当GAE调用此url(cron或warmup请求)时,才会发生这种情况


共 (0) 个答案