Tomcat JSR356 Websocket - 禁用 permessage-deflate 压缩

use*_*713 5 compression tomcat websocket

我正在开发一个 Java servlet,它在 Tomcat 8.0.18 服务器上运行,并使用 JSR356 websocket API 与浏览器进行通信。默认情况下,Tomcat 使用“permessage-deflate”压缩在两个方向上压缩 websocket 消息。我想不用websocket压缩,怎么关掉?我曾尝试在文件 server.xml 中使用 compression="off" 选项,但这并没有改变任何东西。我怎样才能关掉它?

xfe*_*eep 1

请尝试添加jvm选项

-Dorg.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true
Run Code Online (Sandbox Code Playgroud)

catalina.bat(适用于 Windows)或 catalina.sh(适用于 UNIX 等操作系统)。

例如,在 catalina.sh 的开头添加这一行

CATALINA_OPTS="-Dorg.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true"
Run Code Online (Sandbox Code Playgroud)

在 catalina.bat 的开头添加此行

set CATALINA_OPTS="-Dorg.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true"
Run Code Online (Sandbox Code Playgroud)