解决方法 LogbackValve 缺乏异步支持

Posted

技术标签:

【中文标题】解决方法 LogbackValve 缺乏异步支持【英文标题】:Workaround LogbackValve Lack of Async Support 【发布时间】:2018-03-10 18:57:16 【问题描述】:

我正在尝试使用 Spring Boot 1.3.5.RELEASE 创建一个 Zipkin 1.31.1 服务器,以构建一个内嵌 Tomcat 8.0.33 的胖可执行 JAR。这失败并显示以下错误消息:

java.lang.IllegalArgumentException: Async support must be enabled on a servlet and for all filters involved in async request processing. This is done in Java code using the Servlet API or by adding "<async-supported>true</async-supported>" to servlet and filter declarations in web.xml. Also you must use a Servlet 3.0+ container

如Spring Boot Enable Async Supported Like in web.xml 中所述,即使有建议的修复。

在调试器中设置断点后,发现问题和

中描述的一样

How to Make LogbackValve async Supported

未得到答复并最终创建了以下改进请求:

ch.qos.logback.access.tomcat.LogbackValve is not async-supported

有人对我如何解决此问题有任何建议吗?我也需要帮助:

用支持异步行为的包装器替换管道中的 LogBackValve

禁用 LogbackValve 和/或将其从管道中移除并没有它的好处

您能提供的任何帮助将不胜感激。谢谢!

【问题讨论】:

【参考方案1】:

我想出了如何禁用注入 LogbackAccess 的 bean。这解决了问题,因此 Zipkin 现在正在接受请求。

【讨论】:

以上是关于解决方法 LogbackValve 缺乏异步支持的主要内容,如果未能解决你的问题,请参考以下文章

异步解决方案的发展历程

旧浏览器中不支持的lookbehind的解决方法?

windows10 解压缩搜索支持文件时出错:灾难性故障

C#8.0: 在 LINQ 中支持异步的 IAsyncEnumerable

js类的constructor中不支持异步函数吗?

读懂 ECMAScript 规格