我試圖在我的spring引導應用程序中爲每個請求實現一個事務。 我有一個HIGHEST_PRECEDENCE命令的過濾器打開一個事務,讓其他過濾器和應用程序的服務完成他們的工作並提交事務。但是,如果提交失敗,servlet響應已經被寫入並提交(使用成功代碼),我無法修改其狀態和消息正文以提供有關錯誤的信息。每個請求一個事務 - servlet響應提交得太早
我需要servlet響應在我的過濾器中可修改,但有些事情提交它。
我已經禁用了jackson提交,但在最後一個過濾器(WsFilter)後立即提交了消息。緩衝區大小盡可能大。我猜嵌入式tomcat在WsFilter之後默認提交?
我也試過使用包裝和禁止刷新,直到在我的事務篩選器中將布爾標誌設置爲true,但發生空指針異常 - coyoteResponse爲空。
我如何保持響應未提交?
你需要確保沒有被寫入ServletResponse的所有提交成功 – ControlAltDel
之前分享的包裝代碼 – Mudassar