第 19 章 配置客户端
19.1. 使用 wildfly-config.xml 文件配置客户端
				在发布 7.1 之前,JBoss EAP 客户端库(如 EJB 和命名)采用了不同的配置策略。JBoss EAP 7.1 引入了 wildfly-config.xml 文件,旨在将所有客户端配置统一到一个配置文件中,其方式与服务器配置处理方式类似。
			
				下表介绍了可以使用 JBoss EAP 中的 wildfly-config.xml 文件实现的客户端和配置类型,以及指向每种配置引用模式链接的链接。
			
| 客户端配置 | 架构位置/配置信息 | 
|---|---|
| 身份验证客户端 | 
								该架构引用在  模式也发布在 http://www.jboss.org/schema/jbossas/elytron-client-1_2.xsd。 | 
| 
								如需更多信息,请参阅使用   如需其他信息,请参阅如何为 JBoss EAP 配置身份管理,以使用 Elytron 客户端配置客户端身份验证。 | |
| eJB 客户端 | 
								该架构引用在  模式也发布在 http://www.jboss.org/schema/jbossas/wildfly-client-ejb_3_0.xsd。 | 
| 
								如需更多信息和 示例配置,请参阅使用  另一个简单示例位于 JBoss EAP 迁移指南的 "将 EJB 客户端迁移到 Elytron "章节中。 | |
| HTTP 客户端 | 
								该架构引用在  模式也发布在 http://www.jboss.org/schema/jbossas/wildfly-http-client_1_0.xsd。 | 
| 注意 
								如需更多信息,请参阅使用   | |
| 远程客户端 | 
								该架构参考在  模式也发布在 http://www.jboss.org/schema/jbossas/jboss-remoting_5_0.xsd。 | 
| 
								如需更多信息,请参阅使用   | |
| XNIO worker 客户端 | 
								该架构参考在  | 
| 
								如需更多信息,请参阅使用   | 
19.1.1. 使用 wildfly-config.xml 文件的客户端身份验证配置
					您可以使用位于 urn:elytron:  元素,以使用 client:1.2 命名空间中的 authentication- clientwildfly-config.xml 文件配置客户端身份验证信息。这部分论述了如何使用这个元素配置客户端身份验证。
				
authentication-client Elements 和 Attributes
					authentication-client 元素可选择性地包含以下顶层子元素,及其子元素:
				
- credential-stores
- 此可选元素定义从配置的其他位置引用的凭据存储,作为在配置中嵌入凭据的替代方法。 - 它可以包含任意数量 - 的凭据存储元素。- 示例: - 凭证存储配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- credential-store
- 此元素定义从配置的其他位置引用的凭据存储。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 凭据存储的名称。此属性是必需的。 - type - 凭据存储的类型。此属性是可选的。 - provider - 用于加载凭据存储的 - java.security.Provider的名称。此属性是可选的。- 它可包含一个以及仅包含以下各个子元素之一: 
- 属性
- 此元素定义用于初始化凭据存储的配置属性,并可根据需要重复。 - 示例: - 属性配置- <attributes> <attribute name="..." value="..." /> </attributes> - <attributes> <attribute name="..." value="..." /> </attributes>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- protection-parameter-credentials
- 此元素包含一个或多个凭据,组合成一个保护参数,以便在初始化凭据存储时使用。 - 它可包含以下一个或多个子元素,它们依赖于凭证存储实现: - 示例: - Protection-parameter-credentials配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- key-store-reference
- 此元素目前未由 JBoss EAP 中的任何身份验证机制使用,它定义对密钥存储的引用。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - key-store-name - 密钥存储名称。此属性是必需的。 - Alias - 从引用的密钥存储加载的条目的别名。这仅适用于仅包含单个条目的密钥存储,可以省略。 - 它可以包含其中一个,并且只能包含以下子元素之一: - 示例: - 键存储引用配置- <key-store-reference key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-reference> - <key-store-reference key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-reference>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- credential-store-reference
- 此元素定义对凭据存储的引用。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - Storage - 凭据存储名称。 - Alias - 从引用的凭据存储加载的条目的别名。这仅适用于仅包含单个条目的密钥存储,可以省略。 - clear-text - 明文密码。 
- clear-password
- 此元素定义明文密码。
- key-pair
- 此元素目前未由 JBoss EAP 中的任何身份验证机制使用,它定义一个公钥和私钥对。 - 它可以包含下列子元素: 
- public-key-pem
- 此元素目前未由 JBoss EAP 中的任何身份验证机制使用,它定义 PEM 编码的公钥。
- private-key-pem
- 这个元素定义了 PEM 编码的私钥。
- certificate
- 此元素目前未由 JBoss EAP 中的任何身份验证机制使用,它指定了一个证书。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - private-key-pem - PEM 编码的私钥。 - pem - 对应的证书。 
- bearer-token
- 此元素定义 bearer 令牌。
- oauth2-bearer-token
- 此元素定义 OAuth 2 bearer 令牌。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - token-endpoint-uri - 令牌端点的 URI。 - 它可包含一个以及仅包含以下各个子元素之一: 
- client-credentials
- 此元素定义客户端凭据。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - client-id - 客户端 ID。此属性是必需的。 - client-secret - 客户端机密。此属性是必需的。 
- resource-owner-credentials
- 此元素定义资源所有者凭据。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 资源名称。此属性是必需的。 - pasword - 密码.此属性是必需的。 
- key-stores
- 此可选元素定义从配置的其他位置引用的密钥存储。 - 示例: - 密钥存储配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- key-store
- 此可选元素定义从配置的其他位置引用的密钥存储。 - key-store具有下列属性:- Expand - 属性名称 - 属性描述 - name - 密钥存储的名称。此属性是必需的。 - type - 密钥存储类型,如 - JCEKS。此属性是必需的。- provider - 用于加载凭据存储的 - java.security.Provider的名称。此属性是可选的。- wrap-passwords - 如果为 true, - 密码将被换行。通过采用明确的密码内容,在 UTF-8 中对密码进行编码,并将生成的字节存储为 secret 密钥来存储密码。默认值为- false。- 它必须正好包含下列元素之一,这些元素定义从中加载密钥存储的位置: - 它还必须包含下列元素之一,以指定在初始化密钥存储时要使用的保护参数。 
- file
- 此元素指定密钥存储文件的名称。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 文件的完全限定文件名和名称。 
- load-from
- 此元素指定密钥存储文件的 URI。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - uri - 密钥存储文件的 URI。 
- resource
- 此元素指定要从 - 线程上下文类加载器加载的资源名称。- 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 资源名称。 
- key-store-clear-password
- 此元素指定明文密码。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - password - 明文密码。 
- key-store-credential
- 此元素指定对另一个密钥存储的引用,该存储获取一个条目,用作访问此密钥存储的保护参数。 - key-store-credential元素具有以下属性:- Expand - 属性名称 - 属性描述 - key-store-name - 密钥存储名称。此属性是必需的。 - Alias - 从引用的密钥存储加载的条目的别名。这仅适用于仅包含单个条目的密钥存储,可以省略。 - 它可以包含其中一个,并且只能包含以下子元素之一: - 示例: - key-store-credential配置- <key-store-credential key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-credential> - <key-store-credential key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-credential>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- authentication-rules
- 此元素定义与出站连接匹配的规则,以应用适当的身份验证配置。需要 - 身份验证配置时,访问资源的 URI 以及可选的抽象类型授权与配置中定义的规则匹配,以识别应使用哪些- 身份验证配置。- 此元素可以包含一个或多个子 - 规则元素。- 示例: - authentication-rules配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 规则
- 此元素定义与出站连接匹配的规则,以应用适当的身份验证配置。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - 使用配置 - 规则匹配时选择的身份验证配置。 - 身份验证配置规则匹配独立于 SSL 上下文规则匹配。身份验证规则结构与 SSL 上下文规则结构相同,只是它引用身份验证配置,而 SSL 上下文规则引用 SSL 上下文。 - 它可以包含下列子元素: - 示例:身份验证 - 的规则配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- match-no-user
- 
								当 URI 中没有 嵌入用户信息时,此规则将匹配。
- match-user
- 
								当 URI 中嵌入的 user-info与此元素中指定的name属性匹配时,此规则将匹配。
- match-protocol
- 
								当 URI 中的协议与此元素 中指定的协议匹配时,此规则匹配。
- match-host
- 
								当 URI 中指定的主机名与此元素中指定的 主机名匹配时,此规则匹配。
- match-path
- 
								当 URI 中指定的路径与此元素中指定的路径匹配时,此规则 将匹配此规则。
- match-port
- 
								当 URI 中指定的端口号与此元素中指定的端口 号匹配时,此规则匹配。这仅与 URI 中指定的编号匹配,而不与从协议派生的任何默认端口号匹配。
- match-urn
- 
								当 URI 的特定方案部分与此元素中指定的 name属性匹配时,此规则匹配。
- match-domain-name
- 
								当 URI 协议是 domain时,此规则匹配,并且 URI 的特定部分与此元素中指定的name属性匹配。
- match-abstract-type
- 
								当抽象类型与 name属性匹配并且权威与此元素中指定的authority 属性匹配时,此规则将匹配此规则。
- 身份验证配置
- 此元素定义将由身份验证规则选择的指定身份验证配置。 - 它可以包含一个或多个 - 配置元素。- 示例: - 身份验证配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 配置
- 此元素定义将由身份验证规则选择的指定身份验证配置。 - 它可以包含下列子元素: - 
										可选 的 set-host-name、set-port-number和set-protocol元素可以覆盖目的地。
- 
										可选 的 set-user-name和set-anonymous元素是互斥的,可用于设置身份验证的名称或切换到匿名身份验证。
- 
										接下来是 set-mechanism-realm-name、rewrite-user-name-regex、sasl-mechanism-selector、set-mechanism-properties、凭证、set-authorization-name和提供程序可选元素。
- 
										最后两个可选 use-provider-sasl-factory和use-service-loader-sasl-factory元素互斥,并定义如何发现 SASL 机制工厂进行身份验证。
 
- 
										可选 
- set-host-name
- 此元素覆盖经过身份验证的调用的主机名。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 主机名。 
- set-port-number
- 此元素覆盖经过身份验证的调用的端口号。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - 数字 - 端口号。 
- set-protocol
- 此元素覆盖经过身份验证的调用的协议。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 协议. 
- set-user-name
- 此元素设置用于身份验证的用户名。它不应与 - set-anonymous元素一起使用。- 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 用于身份验证的用户名。 
- set-anonymous
- 
								元素用于切换到匿名身份验证。它不应与 set-user-name元素搭配使用。
- set-mechanism-realm-name
- 此元素指定 SASL 机制将在需要时选择的域的名称。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 域的名称。 
- rewrite-user-name-regex
- 此元素定义正则表达式模式和替换,以重写用于身份验证的用户名。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - pattern - 正则表达式模式. - replace - 用于重写用于身份验证的用户名的替代方法。 
- sasl-mechanism-selector
- 此元素使用 - org.wildfly.security.sasl.Sasl.SaslMechanismSelector.fromString(string)方法的语法指定 SASL 机制选择器。- 它具有以下属性: - Expand - 属性名称 - 属性描述 - selector - SASL 机制选择器。 - 有关 - sasl-mechanism-selector所需的语法的更多信息,请参阅 如何为 JBoss EAP 配置服务器 安全性的- sasl-mechanism-selectorGrammar。
- set-mechanism-properties
- 
								此元素可以包含一个或多个要传递到身份验证机制的属性 元素。
- 属性
- 此元素定义要传递到身份验证机制的属性。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - key - 属性名称。 - value - 属性值。 
- credentials
- 此元素定义一个或多个可在身份验证期间使用的凭据。 - 它可包含以下一个或多个子元素,它们依赖于凭证存储实现: - 这些子元素与 protected - -parameter-credentials元素中包含的子元素相同。有关详细信息和示例配置,请参见 Protection- -parameter-credentials元素。
- set-authorization-name
- 此元素指定在与身份验证身份不同的授权时使用的名称。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - name - 用于授权的名称。 
- use-provider-sasl-factory
- 
								此元素指定此配置中继承或定义的 java.security.Provider实例,用于查找可用的 SASL 客户端工厂。此元素不应与use-service-loader-sasl-factory元素一起使用。
- use-service-loader-sasl-factory
- 此元素指定用于利用服务加载器发现机制发现 SASL 客户端工厂的模块。如果没有指定模块,则使用载入该配置的类加载程序。此元素不应与 - use-provider-sasl-factory元素一起使用。- 它具有以下属性: - Expand - 属性名称 - 属性描述 - module-name - 模块的名称。 
- net-authenticator
- 此元素不包含任何配置。如果存在, - org.wildfly.security.auth.util.ElytronAuthenticator已注册到- java.net.Authenticator.setDefault(Authenticator)。当 JDK API 用于需要身份验证的 HTTP 调用时,可以使用 Elytron 身份验证客户端配置进行身份验证。注意- 由于 JDK 在第一个调用 JVM 之间缓存身份验证,因此最好仅在不需要不同凭据的单机进程上使用此方法。 
- ssl-context-rules
- 此可选元素定义 SSL 上下文规则。需要 - ssl-context时,访问资源的 URI 以及可选的抽象类型和抽象类型授权与配置中定义的规则匹配,以确定应使用哪些- ssl-context。- 此元素可以包含一个或多个子 - 规则元素。- 示例: - ssl-context-rules配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 规则
- 此元素定义要在 SSL 上下文定义上匹配的规则。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - use-ssl-context - 规则匹配时选择的 SSL 上下文定义。 - SSL 上下文规则匹配独立于身份验证规则匹配。SSL 上下文规则结构与身份验证配置规则结构相同,只是它引用 SSL 上下文,而身份验证规则引用身份验证配置。 - 它可以包含下列子元素: - 示例:SSL 上下文 - 的规则配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ssl-contexts
- 此可选元素定义将由 SSL 上下文规则选择的 SSL 上下文定义。 - 示例: - ssl-contexts配置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- default-ssl-context
- 
								此元素取 javax.net.ssl.SSLContext.getDefault()返回,并为它分配一个名称,以便它能够从返回的 SSLContextssl-context-rules引用。此元素可以重复,这意味着可以使用不同的名称来引用默认 SSL 上下文。
- ssl-context
- 此元素定义用于连接的 SSL 上下文。 - 它可选择性地包含以下各个子元素之一: 
- key-store-ssl-certificate
- 此元素定义对密钥存储中用于此 SSL 上下文的密钥存储条目的引用。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - key-store-name - 密钥存储名称。此属性是必需的。 - Alias - 从引用的密钥存储加载的条目的别名。这仅适用于仅包含单个条目的密钥存储,可以省略。 - 它可包含以下子元素: - 此结构与 - key-store-credential配置中使用的结构几乎相同,但此处获取了密钥和证书的条目除外。但是,嵌套- 的 key-store-clear-password和- key-store-credential元素仍然提供用于解锁条目的保护参数。- 示例: - key-store-ssl-certificateConfiguration- <key-store-ssl-certificate key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-ssl-certificate> - <key-store-ssl-certificate key-store-name="..." alias="..."> <key-store-clear-password password="..." /> <key-store-credential>...</key-store-credential> </key-store-ssl-certificate>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- trust-store
- 此元素是对用于初始化 - TrustManager的密钥存储的引用。- 它具有以下属性: - Expand - 属性名称 - 属性描述 - key-store-name - 密钥存储名称。此属性是必需的。 
- cipher-suite
- 这个元素为启用的密码套件配置过滤器。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - selector - 用于过滤密码套件的选择器。选择器使用由 - org.wildfly.security.ssl.CipherSuiteSelector.fromString(selector)方法创建的 OpenSSL 样式密码列表字符串的格式。- 示例: - 使用默认过滤的 cipher-suite配置- <cipher-suite selector="DEFAULT" /> - <cipher-suite selector="DEFAULT" />- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- protocol
- 
								此元素定义要支持的协议的空格分隔列表。有关可用协议列表,请参阅如何为 JBoss EAP 配置服务器安全性 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/how_to_configure_server_security/#client_ssl_context_attributes 的客户端-ssl-context Attributes 表。红帽建议您使用 TLSv1.2。
- provider-name
- 确定了可用的提供程序后,仅使用此元素上定义的名称的供应商。
- certificate-revocation-list
- 此元素同时定义了证书撤销列表的路径和认证路径中可能存在的非自签发中间证书的最大数量。通过存在此元素,可以根据证书撤销列表检查同级的证书。 - 它具有以下属性: - Expand - 属性名称 - 属性描述 - 路径 - 认证列表的路径.此属性是可选的。 - maximum-cert-path - 认证路径中可能存在的非自签发中间证书的最大数量。此属性是可选的。 
- 供应商
- 此元素定义 - java.security.Provider实例在需要时如何定位。- 它可以包含下列子元素: - 由于 - authentication-client的配置部分相互独立,因此可以在以下位置配置此元素:- 示例: - 供应商配置的位置- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 提供程序配置适用于定义它的元素,以及它的任何子元素,除非被覆盖。子元素中的- 提供程序规范会覆盖其任何父元素中指定的- 提供程序。如果没有指定- 提供程序配置,默认行为等同于以下内容,这赋予 Elytron 提供商高于任何全局注册供应商的优先级,但也允许使用全局注册的供应商:- 示例: - 供应商配置- <providers> <use-service-loader /> <global /> </providers> - <providers> <use-service-loader /> <global /> </providers>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- global
- 
								此空元素指定使用 java.security.Security.getProviders()方法调用加载的全局提供程序。
- use-service-loader
- 此空元素指定使用指定模块加载的供应商。如果没有指定模块,则使用加载身份验证客户端的类加载程序。
任何 JBoss EAP 身份验证机制当前未使用的元素
						Elytron 客户端配置中的 credentials 元素的以下子元素目前未用于 JBoss EAP 中的任何身份验证机制。它们可以用于您自己的自定义身份验证机制实施,但它们不受支持。
					
- 
								key-pair
- 
								public-key-pem
- 
								key-store-reference
- 
								certificate
19.1.2. 使用 wildfly-config.xml 文件进行 EJB 客户端配置
					您可以使用 jboss-ejb-client 元素(位于 urn:jboss:wildfly-client-ejb:3.0 命名空间)来配置 EJB 客户端连接、全局拦截器和使用 wildfly-config.xml 文件调用超时。本节介绍如何使用此元素配置 EJB 客户端。
				
jboss-ejb-client Elements and Attributes
					jboss-ejb-client 元素可以选择性地包含以下三个顶级子元素,及其子元素:
				
- invocation-timeout
- 此可选元素指定 EJB 调用超时。它具有以下属性: - Expand - 属性名称 - 属性描述 - 秒 - EJB 握手或方法调用请求/响应周期的超时时间(以秒为单位)。此属性是必需的。 - 如果方法的执行用时超过超时时间,调用将引发 - java.util.concurrent.TimeoutException;但是,服务器端不会被中断。
- global-interceptors
- 
								此可选元素指定全局 EJB 客户端拦截器。它可以包含任意数量的 拦截器元素。
- 拦截器
- 此元素用于指定 EJB 客户端拦截器。它具有以下属性: - Expand - 属性名称 - 属性描述 - class - 实施 - org.jboss.ejb.client.EJBClientInterceptor接口的类的名称。此属性是必需的。- module - 用于加载拦截器类的模块名称。此属性是可选的。 
- 连接
- 
								此元素用于指定 EJB 客户端连接。它可以包含任意数量 的连接元素。
- 连接
- 此元素用于指定 EJB 客户端连接。它可以选择包含 - 拦截器元素。它具有以下属性:- Expand - 属性名称 - 属性描述 - uri - 连接的目标 URI。此属性是必需的。 
- 拦截器
- 
								此元素用于指定 EJB 客户端拦截器,可以包含任意数量的 拦截器元素。
wildfly-config.xml 文件中的 EJB 客户端配置示例
					下例中使用 wildfly-config.xml 文件中的 jboss-ejb-client 元素配置 EJB 客户端连接、全局拦截器和调用超时:
				
19.1.3. 使用 wildfly-config.xml 文件配置 HTTP 客户端
					以下是如何使用 wildfly-config.xml 文件配置 HTTP 客户端的示例:
				
						使用 wildfly-config.xml 文件的 HTTP 客户端配置仅作为技术预览提供。技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
					
如需有关技术预览功能支持范围的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。
19.1.4. 使用 wildfly-config.xml 文件调整客户端配置
					您可以使用 endpoint 元素(位于 urn:jboss-remoting:5.0 命名空间中)来配置使用 wildfly-config.xml 文件的远程客户端。本节论述了如何使用这个元素配置远程客户端。
				
端点元素和属性
					endpoint 元素可以选择性地包含以下两个顶级子元素,以及它们的子元素。
				
它还具有以下属性:
| 属性名称 | 属性描述 | 
|---|---|
| name | 端点名称。此属性是可选的。如果没有提供,则端点名称会从系统的主机名派生(如果可能)。 | 
- 供应商
- 
								此可选元素指定远程端点的传输提供程序。它可以包含任意数量 的供应商元素。
- provider
- 此元素定义远程传输提供程序。它具有以下属性: - Expand - 属性名称 - 属性描述 - scheme - 与此提供程序对应的主 URI 方案。此属性是必需的。 - Alias - 也为此提供程序识别的其他 URI 方案名称的空格分隔列表。此属性是可选的。 - module - 包含提供程序实施的模块的名称。此属性是可选的。如果没有提供,加载 JBoss 远程的类加载程序将搜索提供商类。 - class - 实施传输提供程序的类的名称。此属性是可选的。如果未提供,则使用 - java.util.ServiceLoader功能来搜索提供程序类。
- 连接
- 
								此可选元素指定远程端点的连接。它可以包含任意数量 的连接元素。
- 连接
- 此元素定义远程端点的连接。它具有以下属性: - Expand - 属性名称 - 属性描述 - destination - 端点的目标 URI。此属性是必需的。 - read-timeout - 在对应套接字上读取操作的超时时间(以秒为单位)。此属性是可选的;但只有在定义了 - heartbeat-interval时才应提供它。- write-timeout - 写入操作的超时时间(以秒为单位)。此属性是可选的;但只有在定义了 - heartbeat-interval时才应提供它。- ip-traffic-class - 定义用于此连接流量的数字 IP 流量类。此属性是可选的。 - tcp-keepalive - 确定是否使用 TCP keepalive 的布尔值设置.此属性是可选的。 - heartbeat-interval - 检查心跳时要使用的间隔,以毫秒为单位。此属性是可选的。 
在 wildfly-config.xml 文件中删除客户端配置示例
					以下是使用 wildfly-config.xml 文件配置远程客户端的示例:
				
19.1.5. 使用 wildfly-config.xml 文件进行默认的 XNIO 工作程序配置
					您可以使用 worker 元素(位于 urn:xnio:3.5 命名空间中),使用 wildfly-config.xml 文件配置 XNIO 工作程序。本节论述了如何使用这个元素配置 XNIO worker 客户端。
				
Worker Elements and Attributes
					worker 元素可选择性地包含以下顶层子元素,及其子元素:
				
- daemon-threads
- 这个可选元素指定 worker 和任务线程应该是守护进程线程。此元素没有内容。它具有以下属性: - Expand - 属性名称 - 属性描述 - value - 指定 worker 和任务线程是否应是守护进程线程的布尔值。值 - true表示 worker 和任务线程应当是守护进程线程。值- false表示它们不应是守护进程线程。此属性是必需的。- 如果未提供此元素,则假设值为 - true。
- worker-name
- 此元素定义工作程序的名称。worker 名称会出现在线程转储和 JMX 中。此元素没有内容。它具有以下属性: - Expand - 属性名称 - 属性描述 - value - worker 的名称。此属性是必需的。 
- pool-size
- 此可选元素定义 worker 任务线程池的最大大小。此元素没有内容。它具有以下属性: - Expand - 属性名称 - 属性描述 - max-threads - 正整数,用于指定应创建的线程的最大数量。此属性是必需的。 
- task-keepalive
- 此可选元素在任务线程过期前建立任务线程的 keep-alive 时间。它具有以下属性: - Expand - 属性名称 - 属性描述 - value - 一个正整数,指定空闲线程处于活动状态所需的最少秒数。此属性是必需的。 
- io-threads
- 此可选元素决定了应当维护多少个 I/O 选择器线程。通常,这个数字应该是可用内核数的倍数的小常数。它具有以下属性: - Expand - 属性名称 - 属性描述 - value - 指定 I/O 线程数量的正整数。此属性是必需的。 
- stack-size
- 此可选元素为 worker 线程建立所需的最小线程堆栈大小。这个元素只应在非常特殊的情况下定义,其中密度很高。它具有以下属性: - Expand - 属性名称 - 属性描述 - value - 指定所请求堆栈大小的正整数,以字节为单位。此属性是必需的。 
- outbound-bind-addresses
- 
								此可选元素指定用于出站连接的绑定地址。每个绑定地址映射均包含一个目标 IP 地址块,以及用于该块内目的地连接的绑定地址和可选端口号。它可以包含任意数量的 bind-address元素。
- bind-address
- 此可选元素定义单独的绑定地址映射。它具有以下属性: - Expand - 属性名称 - 属性描述 - 匹配 - 要匹配的 IP 地址块,采用 CIDR 表示法。 - bind-address - 如果地址块匹配,要绑定到的 IP 地址。此属性是必需的。 - bind-port - 如果地址块匹配,要绑定到的端口号。这个值解译为 - 0,即它绑定到任何端口。此属性是可选的。
wildfly-config.xml 文件中的 XNIO Worker 配置示例
					以下是如何使用 wildfly-config.xml 文件配置默认 XNIO 工作程序的示例。