GAE выбрасывает IllegalStateException: ПИСАТЕЛЬ - PullRequest
3 голосов
/ 15 декабря 2011

У меня есть приложение 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)

Как я вижу, я использую тот же конвертер сообщений, но всегда получаю недопустимое состояниепричала.У кого-нибудь была такая же проблема?

PS Когда я пытаюсь открыть этот URL из браузера, на производственном сервере, он тоже работает.Это происходит только тогда, когда этот URL-адрес вызывается GAE (запрос cron или разминка)

...