A.4. 迁移 JBoss Web 系统属性参考


本参考介绍了如何将之前用于 JBoss Web 配置的系统属性映射到 JBoss EAP 7 中 Undertow 的等同配置。

Expand
表 A.1. 映射 Servlet 容器和连接器系统属性

JBoss EAP 6 系统属性

描述

等同于 JBoss EAP 7

jvmRoute

jvmRoute 属性提供默认值。使用 standalone-ha.xml 配置文件时,它不会覆盖自动生成的值。

它支持 重新加载

管理 CLI 命令:

/subsystem=undertow:write-attribute(name=instance-id,value=VALUE)
Copy to Clipboard Toggle word wrap

org.apache.tomcat.util.buf.StringCache.byte.enabled

如果为 true,则为 ByteChunk 启用 String 缓存。如果没有指定值,则使用默认值 false

没有对等的配置

org.apache.tomcat.util.buf.StringCache.char.enabled

如果为 true,则为 CharChunk 启用 String 缓存。如果没有指定值,则使用默认值 false

没有对等的配置

org.apache.tomcat.util.buf.StringCache.cacheSize

String 缓存的大小。如果没有指定值,则使用默认值 5000

没有对等的配置

org.apache.tomcat.util.buf.StringCache.maxStringSize

将缓存的 String 的最大长度。如果未指定值,则使用默认值 128

没有对等的配置

org.apache.tomcat.util.http.FastHttpDateFormat.CACHE_SIZE

使用解析和格式化的日期值的缓存大小。如果没有指定值,则使用默认值 1000

没有对等的配置

org.apache.catalina.core.StandardService.DELAY_CONNECTOR_STARTUP

如果为 true,则连接器启动不会自动完成。它在嵌入式模式中非常有用。

没有对等的配置

org.apache.catalina.connector.Request.SESSION_ID_CHECK

如果为 true,Servlet 容器会在创建具有指定 ID 的会话 ID 的上下文中验证会话是否存在。

没有对等的配置

org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER

如果为 true,则在 HTTP 标头中使用自定义 HTTP 状态消息。用户必须确保任何此类消息都经过 ISO-8859-1 编码,尤其是当用户提供的输入包含在消息中时,以防止出现可能的 XSS 漏洞。如果没有指定值,则使用默认值 false

必须通过实施 custom io.undertow.servlet.ServletExtension 以 编程方式启用。然后,使用扩展来调用 the io.undertow.servlet.api.DeploymentInfo 结构实例上的 setSendCustomReasonPhraseOnError(true )。

org.apache.tomcat.util.http.Parameters.MAX_COUNT

在 post 正文中可以解析的最大参数数。如果超过,解析将使用 IllegalStateException 失败。默认值为 512 参数

管理 CLI 命令:

/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-parameters,value=VALUE)
/subsystem=undertow/server=default-server/https-listener=default:write-attribute(name=max-parameters,value=VALUE)
/subsystem=undertow/server=default-server/ajp-listener=default:write-attribute(name=max-parameters,value=VALUE)
Copy to Clipboard Toggle word wrap

org.apache.tomcat.util.http.MimeHeaders.MAX_COUNT

HTTP 请求中可以发送的最大标头数。如果超过,解析将使用 IllegalStateException 失败。默认值为 128 标头。

管理 CLI 命令:

/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-headers,value=VALUE)
/subsystem=undertow/server=default-server/https-listener=default:write-attribute(name=max-headers,value=VALUE)
/subsystem=undertow/server=default-server/ajp-listener=default:write-attribute(name=max-headers,value=VALUE)
Copy to Clipboard Toggle word wrap

org.apache.tomcat.util.net.MAX_THREADS

连接器将用于处理请求的最大线程数。默认值为 32 x 512。( 用于 JIO 连接器的512 X Runtime.getRuntime().availableProcessors( ))

管理 CLI 命令:

/subsystem=io/worker=default:write-attribute(name=task-max-threads, value=VALUE)
Copy to Clipboard Toggle word wrap

org.apache.coyote.http11.Http11Protocol.MAX_HEADER_SIZE

HTTP 标头的最大大小,以字节为单位。如果超过,解析将使用 a ArrayOutOfBoundsException 失败。默认值为 8192 字节。

管理 CLI 命令:

/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-header-size,value=VALUE)
/subsystem=undertow/server=default-server/https-listener=default:write-attribute(name=max-header-size,value=VALUE)
/subsystem=undertow/server=default-server/ajp-listener=default:write-attribute(name=max-header-size,value=VALUE)
Copy to Clipboard Toggle word wrap

org.apache.coyote.http11.Http11Protocol.COMPRESSION

允许通过 HTTP 连接器使用简单的压缩。默认值为 off,压缩可以使用 上的 值来有条件地启用,或者强制 始终启用它。

使用管理 CLI 配置过滤器:

# Create a filter
/subsystem=undertow/configuration=filter/gzip=gzipfilter:add()
/subsystem=undertow/server=default-server/host=default-host/filter-ref=gzipfilter:add()
Copy to Clipboard Toggle word wrap

org.apache.coyote.http11.Http11Protocol.COMPRESSION_RESTRICTED_UA

不接收压缩内容的用户代理正则表达式.默认值为空。

使用管理 CLI 在过滤器中配置 predicate:

# Use a predicate in a filter
/subsystem=undertow/configuration=filter/gzip=gzipfilter:add()
/subsystem=undertow/server=default-server/host=default-host/filter-ref=gzipfilter:add(predicate="regex[pattern='AppleWebKit',value=%{i,User-Agent}]")
Copy to Clipboard Toggle word wrap

org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIME_TYPES

压缩内容的内容类型前缀.默认值为 text/html,text/xml,text/plain

使用管理 CLI 在过滤器中配置 predicate:

# Use a predicate in a filter
/subsystem=undertow/configuration=filter/gzip=gzipfilter:add()
/subsystem=undertow/server=default-server/host=default-host/filter-ref=gzipfilter:add(predicate="regex[pattern='text/html',value=%{o,Content-Type}]")
Copy to Clipboard Toggle word wrap

org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIN_SIZE

将压缩内容的最小大小.默认值为 2048 字节。

使用管理 CLI 在过滤器中配置 predicate:

# Use a predicate in a filter
/subsystem=undertow/configuration=filter/gzip=gzipfilter:add()
/subsystem=undertow/server=default-server/host=default-host/filter-ref=gzipfilter:add(predicate="max-content-size[value=MIN_SIZE]")
Copy to Clipboard Toggle word wrap

org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT

默认套接字超时.默认值为 60000 ms。

管理 CLI 命令:

/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=no-request-timeout,value=VALUE)
/subsystem=undertow/server=default-server/https-listener=default:write-attribute(name=no-request-timeout,value=VALUE)
/subsystem=undertow/server=default-server/ajp-listener=default:write-attribute(name=no-request-timeout,value=VALUE)
Copy to Clipboard Toggle word wrap

org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY

使用此属性删除 .java.class 文件,以确保重新编译 JSP 源。默认值为 false。用于 keep-alive 的默认套接字超时。默认值为 -1 ms,这意味着它将使用默认的套接字超时。

没有对等的配置

org.apache.tomcat.util.buf.StringCache.trainThreshold

指定在激活缓存前必须调用 到String() 的次数。默认值为 100000

没有对等的配置

Expand
表 A.2. 映射 EL 系统属性

JBoss EAP 6 系统属性

描述

等同于 JBoss EAP 7

org.apache.el.parser.COERCE_TO_ZERO

根据表达式语言(EL)2.0 规范,如果为 true,则当将表达式到非原语数据类型时,空字符串("")和 null 将变为零。如果没有指定值,则使用默认值 true

没有对应的配置。根据 EL 3.0 规范,对于非原语数据类型,空字符串和空字符串不会合并为零。

Expand
表 A.3. 映射 JSP 系统属性

JBoss EAP 6 系统属性

描述

等同于 JBoss EAP 7

org.apache.jasper.compiler.Generator.VAR_EXPRESSIONFACTORY

用于表达式语言工厂的变量名称。如果没有指定值,则使用默认值 _el_expressionfactory

系统属性尚未更改

org.apache.jasper.compiler.Generator.VAR_INSTANCEMANAGER

用于实例管理器工厂的变量名称。如果没有指定值,则使用默认值 _jsp_instancemanager

系统属性尚未更改

org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING

如果为 false,则 JSP 属性中转义引号的要求会被宽松,以便缺少所需的引号不会造成错误。如果没有指定值,则使用兼容规格的默认值 true

系统属性尚未更改

org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE

任何扩展到 org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE 的标签缓冲区将被销毁,并且会创建一个默认大小的新缓冲区。如果未指定值,则使用默认值 512

系统属性尚未更改

org.apache.jasper.runtime.JspFactoryImpl.USE_POOL

如果为 true,则使用 ThreadLocal PageContext 池。如果没有指定值,则使用默认值 true

系统属性尚未更改

org.apache.jasper.runtime.JspFactoryImpl.POOL_SIZE

ThreadLocal PageContext 的大小。如果没有指定值,则使用默认值 8

系统属性尚未更改

org.apache.jasper.Constants.JSP_SERVLET_BASE

从 JSP 生成的 Servlet 的基础类。如果没有指定值,则使用 org.apache.jasper.runtime.HttpJspBase 的默认值。

系统属性尚未更改

org.apache.jasper.Constants.SERVICE_METHOD_NAME

基础类调用的服务方法的名称。如果没有指定值,则使用默认值 _jspService

系统属性尚未更改

org.apache.jasper.Constants.SERVLET_CLASSPATH

为 JSP 提供类路径的 ServletContext 属性的名称。如果没有指定值,则使用 org.apache.catalina.jsp_classpath 的默认值。

系统属性尚未更改

org.apache.jasper.Constants.JSP_FILE

servlet 定义中的 <jsp-file> 元素的 request 属性的名称。如果存在某个请求,这将覆盖 request.getServletPath() 返回的值,以选择要执行的 JSP 页面。如果没有指定值,则使用 org.apache.catalina.jsp_file 的默认值。

系统属性尚未更改

org.apache.jasper.Constants.PRECOMPILE

使 JSP 引擎仅预生成 servlet 但不调用它的查询参数的名称。如果没有指定值,则使用 org.apache.catalina.jsp_precompile 的默认值。

系统属性尚未更改

org.apache.jasper.Constants.JSP_PACKAGE_NAME

编译的 JSP 页面的默认软件包名称。如果未指定值,则使用默认值 org.apache.jsp

系统属性尚未更改

org.apache.jasper.Constants.TAG_FILE_PACKAGE_NAME

从标签文件生成的标签处理程序的默认软件包名称。如果没有指定值,则使用 org.apache.jsp.tag 的默认值。

系统属性尚未更改

org.apache.jasper.Constants.TEMP_VARIABLE_NAME_PREFIX

生成临时变量名称的前缀。如果没有指定值,则使用默认值 _jspx_temp

系统属性尚未更改

org.apache.jasper.Constants.USE_INSTANCE_MANAGER_FOR_TAGS

如果为 true,则使用实例管理器来获取标签处理程序实例。如果未指定值,则使用 true

系统属性尚未更改

org.apache.jasper.Constants.INJECT_TAGS

如果为 true,则处理并注入标签中指定的注解。使用简单标签或标签池被禁用时,这可能会影响性能。如果未指定值,则使用 false

系统属性尚未更改

Expand
表 A.4. 映射安全系统属性

JBoss EAP 6 系统属性

描述

等同于 JBoss EAP 7

org.apache.catalina.connector.RECYCLE_FACADES

如果这是 true,或者安全管理器正在使用一个新 facade 对象,则每个请求都会创建新的 facade 对象。如果没有指定值,则使用默认值 false

没有对等的配置

org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH

如果这是 true,则允许使用 '\' 字符作为路径分隔符。如果没有指定值,则使用默认值 false

没有对等的配置

org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH

如果这是 true,则允许使用 '%2F' 和 '%5C' 作为路径分隔符。如果没有指定值,则使用默认值 false

管理 CLI 命令:

/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=allow-encoded-slash,value=VALUE)
/subsystem=undertow/server=default-server/https-listener=default:write-attribute(name=allow-encoded-slash,value=VALUE)
/subsystem=undertow/server=default-server/ajp-listener=default:write-attribute(name=allow-encoded-slash,value=VALUE)
Copy to Clipboard Toggle word wrap

org.apache.catalina.STRICT_SERVLET_COMPLIANCE

如果未指定值,则使用 true。如果这是 true,将发生以下操作:检查传递到应用程序分派程序的任何封装请求或响应对象以确保它已包装原始请求或响应。(SRV.8.2 / SRV.14.2.5.1)调用 Response.getWriter()(如果没有指定字符编码),后续调用 Response.getCharacterEncoding() 返回 ISO-8859-1,而 Content-Type 响应标头将包含 charset=ISO-8859-1 组件。(SRV.15.2.22.1)与会话关联的每个请求都会导致无论请求是否明确访问会话,都会更新会话的最后访问时间。(SRV.7.6)

默认情况下兼容

org.apache.catalina.core.StandardWrapperValve.SERVLET_STATS

如果为 true 或 if org.apache.catalina.STRICT_SERVLET_COMPLIANCE 为 true,打包程序将收集单个 servlet 的 JSR-77 统计信息。如果没有指定值,则使用默认值 false。此映射安全系统属性的 Jakarta 等效于 Jakarta Management 1.1 规范中。

没有对等的配置

org.apache.catalina.session.StandardSession.ACTIVITY_CHECK

如果为 true,或者 org.apache.catalina.STRICT_SERVLET_COMPLIANCEtrue Tomcat,跟踪每个会话的活跃请求数。在确定会话是否有效时,具有至少一个活跃请求的会话始终被视为有效。如果没有指定值,则使用默认值 false

没有对等的配置

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat