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