Spring mvc 与Spring MVC'一起使用时,恢复Jetty 7延续时出现问题;s@RequestBody
我试图在依赖于Spring mvc 与Spring MVC'一起使用时,恢复Jetty 7延续时出现问题;s@RequestBody,spring-mvc,jetty,jackson,long-polling,Spring Mvc,Jetty,Jackson,Long Polling,我试图在依赖于springmvc@RequestBody+Jackson的控制器操作上使用Jetty continuation来反序列化json请求。挂起请求可以很好地工作,但是当恢复连接(回复请求)时,Jackson已经“使用”了请求读取器实例,因此反序列化请求体失败。至少这是我目前为止最好的理论 public @ResponseBody MyResponse createTrip(@RequestBody MyRequest request, HttpServletRequest httpR
springmvc
@RequestBody
+Jackson的控制器操作上使用Jetty continuation来反序列化json请求。挂起请求可以很好地工作,但是当恢复连接(回复请求)时,Jackson已经“使用”了请求读取器实例,因此反序列化请求体失败。至少这是我目前为止最好的理论
public @ResponseBody MyResponse createTrip(@RequestBody MyRequest request, HttpServletRequest httpRequest) {
// De-serializing the request body fails the second time, most likely because
// Jackson has already exhausted the reader instance.
// ... continuation stuff
}
有什么想法吗 我没有找到在合理的时间内使用
@RequestBody
解决这个问题的方法。但是我可以通过手动调用Jackson在初始方法调用期间取消序列化请求来解决这个问题 另一种可能性是,由于Jackson默认在绑定后关闭输入流/读取器,这可能会把事情搞砸。但是有一个Jackson特性可以防止这种自动关闭(mapper.configure(JsonParser.feature.auto\u CLOSE,false)
,或者类似的东西)。非常有趣!有空的时候我会试试的。如果Jackson不处理请求,我假设Jetty会在请求处理完毕后关闭所有打开的流和读卡器?