spring 引导版本 2.2.3 及更高版本的 Jackson 转换问题

Jackson conversion problem with spring boot version 2.2.3 and above

如果数据传输速率超过 4kb,则会出现以下异常: (在一些限制后它抛出错误但是当我从码头服务器更改为 tomcat 它正常工作)

DEBUG c.e.config.ExceptionConfiguration.handleConflict - ExceptionConfiguration: handleConflict
java.lang.IllegalStateException: s=OPEN,api=BLOCKED,sc=false,e=null
at org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:681)
at org.springframework.session.web.http.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:499)
at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:520)
at com.fasterxml.jackson.core.json.UTF8JsonGenerator.flush(UTF8JsonGenerator.java:1153)
at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:923)
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:287)

这是一个bug in Eclipse Jetty which has been fixed in release[9.4.26.v20200117] that can be downloaded using LINK

来自 VERSION.txt

jetty-9.4.26.v20200117 - 17 January 2020

  • 2620 Exception from user endpoint onClose results in unclosed WebSocketSession

  • 4383 Errors deleting multipart tmp files java.lang.NullPointerException under heavy load

  • 4444 TLS Connection Timeout Intermittently

  • 4461 IllegalStateException in HttpOutput with Jersey