我试图在我的spring引导应用程序中为每个请求实现一个事务。 我有一个HIGHEST_PRECEDENCE命令的过滤器打开一个事务,让其他过滤器和应用程序的服务完成他们的工作并提交事务。但是,如果提交失败,servlet响应已经被写入并提交(使用成功代码),我无法修改其状态和消息正文以提供有关错误的信息。每个请求一个事务 - servlet响应提交得太早
我需要servlet响应在我的过滤器中可修改,但有些事情提交它。
我已经禁用了jackson提交,但在最后一个过滤器(WsFilter)后立即提交了消息。缓冲区大小尽可能大。我猜嵌入式tomcat在WsFilter之后默认提交?
我也试过使用包装和禁止刷新,直到在我的事务筛选器中将布尔标志设置为true,但发生空指针异常 - coyoteResponse为空。
我如何保持响应未提交?
你需要确保没有被写入ServletResponse的所有提交成功 – ControlAltDel
之前分享的包装代码 – Mudassar