[
"<p>批处理子系统用于配置运行批处理应用程序的环境。</p>\n<p>${build.fullName} 使用 <a href=\"https://github.com/jberet/jsr352\" rel=\"nofollow\" target=\"_blank\">JBeret</a> 作为它的批处理实现。如需了解更多与 JBeret 相关的信息，请参阅 <a href=\"http://jberet.gitbooks.io/jberet-user-guide/content/\" rel=\"nofollow\" target=\"_blank\">用户指南</a>。</p>\n",
"<p>Bean Validation 是一个 Java 规范，它的功能包括</p>\n<ul>\n    <li>通过注解（annotation）限制对象模型</li>\n    <li>以可扩展的方式编写自定义约束</li>\n    <li>提供 API 来验证对象和对象图</li>\n    <li>提供 API 来验证参数以及方法和构建函数的返回值</li>\n    <li>关于违反规范的报告（本地化）</li>\n    <li>运行在 Java SE，但被集成在 Java EE（6 和 7; Bean Validation 2.0 计划成为 Java EE 8 的一部分）</li>\n</ul>\n<p>${build.fullName} 使用 <a href=\"http://hibernate.org/validator/\" rel=\"nofollow\" target=\"_blank\">Hibernate Validator</a> 作为它的批处理实现。</p>\n",
"<p>两种常见的资源类型被称为&lt;emphasis>数据源&lt;/emphasis>和&lt;emphasis>XA 数据源&lt;/emphasis>。</p>\n<ul>\n    <li><strong>Non-XA datasources</strong> 用于不使用事务的应用程序，或使用带有一个数据库的事务的应用程序。</li>\n    <li><strong>XA 数据源</strong>用于其交易涉及多个数据库的分布式应用程序。XA数据源引入额外的开销。XA数据源会产生额外的开销。</li>\n</ul>\n",
"<p>数据源子系统允许您创建和配置数据源和管理 JDBC 数据库驱动程序。</p>\n<h2>数据源</h2>\n<p>两种常见的资源类型被称为&lt;emphasis>数据源&lt;/emphasis>和&lt;emphasis>XA 数据源&lt;/emphasis>。</p>\n<ul>\n    <li><strong>Non-XA datasources</strong> 用于不使用事务的应用程序，或使用带有一个数据库的事务的应用程序。</li>\n    <li><strong>XA 数据源</strong>用于其交易涉及多个数据库的分布式应用程序。XA数据源会产生额外的开销。</li>\n</ul>\n<h2>JDBC 驱动程序</h2>\n<p>在您的应用程序可以连接到数据源之前，需要安装供应商的 JDBC 驱动程序。您可以选择以下两种方法安装 JDBC 驱动程序：</p>\n<dl>\n    <dt>模块</dt>\n    <dd><p>要安装J DBC 驱动程序作为一个模块，需要在${build.installDir}/modules</code> 中创建一个文件路径结构，把 JDBC 驱动 JAR 复制到 <code>main/</code> 子目录，并创建一个 <code>module.xml</code> 文件。</p>\n        <p>如果 JDBC 驱动程序作为一个模块被提供，您可以使用此部分添加和删除驱动程序配置。</p>\n    </dd>\n\n    <dt>部署</dt>\n    <dd>\n        <p>您可以象其它部署一样来部署 JDBC 驱动程序。这意味着，如果您使用一个管理域，则可以在服务器组中跨多个服务器部署它们。任何JDBC 4标准的驱动程序都会按照它们的名称和版本自动识别并安装到系统中。</p>\n        <p>在域模式中，作为应用程序部署的驱动程序将只在有运行的服务器与所选配置集相匹配的情况下，才在本节中显示。</p>\n    </dd>\n</dl>\n",
"<p>部署扫描仪只在单机模式下使用。它的任务是监视一个目录下的新文件，并部署这些文件。</p>\n<p>您可以定义多个部署扫描仪项来对多个地点部署进行扫描。</p>\n",
"<p>整个系统的配置。访问可以在服务器组中应用的配置文件。</p>\n\n<p>查看和修改每个可用<strong>子系统</strong>的配置。例如，添加一个数据源，配置消息提供者，或设置应用程序的安全性。</p>\n\n<p>相关链接</p>\n<ul>\n    <li><a href=\"#runtime\">域运行时</a></li>\n</ul>",
"<p>EE 子系统提供在 Java EE 平台的通用功能，如 EE Concurrency Utilities (JSR 236) 和 <code>@Resource</code>注入。该子系统还负责管理Java EE应用程序部署的整个生命周期，也就是.ear文件。</p>\n<p>EE子系统配置可以被用于：</p>\n<ul>\n    <li>对 Java EE 应用程序部署行为进行定制。</li>\n    <li>管理全局模块：一组 JBoss 模块将会作为依赖组件添加到每个 Java EE 部署的 Boss模块中。这些依赖组件将允许 Java EE 看到由全局模块导出的类。</li>\n    <li>管理 EE 并行工具程序（JSR 236）：Java EE 7 引入了这个功能，用于简化编写多线程 Java EE 应用程序的任务。这些实用程序的实例是由管理，并且由EE子系统提供的相关的配置。</li>\n</ul>",
"<p>Enterprise bean 是服务器端的应用程序组件，它由 Enterprise JavaBeans（EJB）3.1规范，JSR-318 定义。Enterprise bean 是为以分离的方式实现应用程序的业务逻辑也设计的，这样就可能实现对逻辑的重复使用。Enterprise beans 以 Java 类的形式编写，并使用相关的 EJB 注解进行注解。它们可以以自己的归档形式（一个JAR文件）部署到应用服务器，部署为Java EE 应用程序的一部分。应用服务器管理每个 enterprise bean的生命周期，并给提供如安全、事务和并行管理等服务。一个enterprise bean也可以定义任意数量的业务接口。业务接口可以更好地控制哪些 bean 的方法可以被客户端访问，也可以允许访问远程JVM上运行的客户端。有三种类型的 Enterprise Bean：会话Bean，消息驱动Bean和实体Bean。</p>\n\n<h2>会话Bean</h2>\n<p>会话Bean封装了一组相关的业务流程或任务，并注入到请求它们的类。会话bean分为三类：无状态（stateless）、有状态（stateful）和单例（singleton）。</p>\n\n<h2>消息驱动Bean</h2>\n<p>消息驱动Bean（MDB）的提供用于应用程序开发的事件驱动模型。MDB 无法注入到客户端代码或从客户端代码调用，它是由从消息服务（如 JMS 服务器）收到的消息来触发。Java EE 6规范要求支持 JMS，但其他消息系统也可以支持。</p>\n\n<h2>Entity Beans</h2>\n<p>Entity bean 在 EJB 3.1 中已过时，现在推荐使用 JPA 实体。Entity bean 只用于需要提供向后兼容性的遗留系统。</p>",
"<h2>工厂</h2>\n<p>认证工厂是用于特定认证机制的认证策略。认证工厂基于特定的认证机制，例 http-authentication-factory、 sasl-authentication-factory 和 kerberos-security-factory.HTTP。</p>\n<h2>主转换器（Transformer）</h2>\n<p>一个主转换器可以在 elytron 子系统内的多个地方使用。.一个主转换器可以把一个名称转换或映射到另外一个名称。</p>\n",
"<h2>角色映射器</h2>\n<p>角色映射器适用于对一个身份的角色进行修改。它的范围包括从规格化角色格式，到添加或删除特定的角色。角色映射器可以与安全领域（security realm）和安全域（security domain）相关联。</p>\n<h2>权限映射器</h2>\n<p>权限映射器与一个安全域相关联，并为 SecurityIdentity 分配一组权限。</p>\n<h2>主体解码器</h2>\n<p>一个主体解码器可以在 elytron 子系统内的多个位置使用。主体解码器会把一个身份从主体转换为代表它的名称的字符串。例如，X500PrincipalDecoder 让您把 X500Principal 的形式从证书的专有名称转换为字符串表示。</p>\n<h2>角色解码器</h2>\n<p>角色解码器与安全域相关联，用于解码当前用户的角色。角色解码器使用从安全领域返回的原始 AuthorizationIdentity，并把其属性转换为角色。</p>\n\n",
"<p>本节包括对如下资源的介绍：</p>\n<h2>认证配置</h2>\n<p>一个单独的认证配置定义，当为创建一个远程连接进行认证时，被部署到 ${build.fullName} 的客户端以及其它资源使用。</p>\n<h2>验证上下文</h2>\n<p>一个单独的认证上下文定义，当部署到 ${build.fullName} 的客户端以及其它资源创建一个远程连接时，用来提供 一个 ssl 上下文和身份验证配置。</p>\n<h2>Stores</h2>\n<p>密钥存储：密钥库或信任库的定义，包括密钥库的类型、它的位置以及访问它的秘密信息。保存敏感信息（如外部服务的密码等）别名的凭证库。</p>\n<h2>SSL</h2>\n<p>配置SSL连接的客户端和服务器端。创建用来创建 SSL 上下文的密钥管理器的定义。其他资源：安全属性、供应商加载器、供应商汇总。</p>\n<h2>安全域</h2>\n<p>安全域代表了，由一个或多个安全领域（security realm）和一组执行转换的资源所支持的安全策略。</p>\n<h2>日志</h2>\n<p>审计日志程序，它会持久保存在文件和 syslog 中。</p>\n",
"<h2>安全领域（security realm）</h2>\n<p>安全领域用来访问身份存储以获得证书。这些凭据允许的身份验证机制获取原 始AuthorizationIdentity 以执行认证操作。</p>\n<h2>领域映射器</h2>\n<p>一个领域映射器与安全域相关联，当一个安全域配置了多个安全领域时会使用它。领域映射器使用身份验证过程中提供的名称来选择用于认证的安全领域。</p>\n",
"<p>公共对象请求代理体系结构（CORBA）是一种标准，它可以使应用程序和服务协同工作，即使它们是由不同的、相互不兼容的语言所编写，或运行在相互独立的平台上。CORBA请求由称为对象请求代理（ORB）的服务器端组件撮合。 ${build.shortName}提供了一个ORB实例（Open JDK ORB 组件）。</p>\n",
"<p>Infinispan 是一个 Java 数据网格平台。它提供了一个 <a href=\"http://www.jcp.org/en/jsr/detail?id=107\">JSR-107</a>兼容缓存接口来管理缓存数据。\n</p>\n<p> ${build.fullName}使用以下 Infinispan 缓存容器：</p>\n<ul>\n    <li><code>web</code> 用于 Web Session Clustering</li>\n    <li><code>ejb</code> 用于 Stateful Session Bean Clustering</li>\n    <li><code>hibernate</code> 用于 Entity Caching</li>\n    <li><code>singleton</code> 用于 Singleton Caching</li>\n</ul>\n<p>每个缓存容器定义了一个“REPL”和“DIST”缓存。这些高速缓存不应该由用户应用程序直接使用。</p>\n\n<p>如需了解更多相关信息，请参阅 <a href=\"http://infinispan.org/docs/5.3.x/index.html\">Infinispan Documentation</a>。</p>\n\n<h2>集群模式</h2>\n<p>集群可以在使用 Infinispan 的 ${build.shortName} 中通过两种不同的方式进行配置。您的应用程序需要使用的方法取决于您的需求。每个模式都需要在可用性、一致性，可靠性和可扩展性间之间进行折衷。选择群集模式之前，需要确定对于您的网络，什么功能是最重要的，并对这些功能要求加以平衡。</p>\n\n<h3>复制模式</h3>\n<p>复制模式将自动检测并在集群上增加新的实例。这些实例所作的更改将被复制到集群中的所有节点。复制的模式通常适用于小型集群，因为需要在网络间进行复制在信息量较小。Infinispan 可以被配置为使用UDP组播，这可以减轻网络拥堵的程度。</p>\n\n<h3>分布模式</h3>\n<p>分布模式允许 Infinispan 线性缩放集群。分布模式使用一致的散列算法，以确定在一个集群的什么地方放置新节点。要保持的信息拷贝数是可配置的。在确定拷贝数量时需要在数据的保存时间和性能之间作出一个平衡，需要保存的副本数量越多，对性能的影响越大，但这可以减少在服务器发生故障时导致数据丢失的可能性。散列算法可以在不需要进行多播或保存元数据的情况下来查找表项，从而减少网络流量。\n</p>\n<p>当集群的规模超过 6 到 8 个节点时，应该考虑使用分配（DIST）模式作为缓存策略。当使用分布模式时，数据只会在群集内的一部分节点间进行分布，而不是分布到所有节点（默认的复制模式）。\n</p>\n\n<h3>同步和异步复制</h3>\n<p>复制可以用同步模式或异步模式，选择哪种模式取决于您的要求和应用程序。在使用同步复制时，处理用户请求的线程会被阻塞，直到复制已经成功。只有当复制成功后，一个响应才会发送回客户端并释放线程。同步复制对网络通信有影响，因为它需要从群集中的所有节点发出的响应。它的优点是，可以确保所有的修改已经应用到集群中的所有节点。</p>\n<p>异步复制是在后台进行的。Infinispan 具有一个复制队列，后台线程使用它来进行复制。复制可基于时间触发，或基于队列的大小触发。使用复制队列可以提高性能，因为它不需要在集群节点间进行通讯。异步复制的缺点是它不是非常准确。失败的复制尝试会被写入日志，而不需要进行实时通知。</p>\n\n<h2>缓存容器</h2>\n<p>缓存容器是由一个子系统使用的缓存存储库。Infinispan 的默认缓存容器的在配置XML文件中定义。一个缓存会被定义为默认缓存，它会作为集群的缓存。</p>\n",
"<p>套接字可以绑定到的于网络接口/ IP地址/主机名的逻辑名称。<code>domain.xml</code>、<code>host.xml</code> 和 <code>standalone.xml</code>配置都包括了一个可以声明接口的项。然后该配置的其它部分可以通过它们的逻辑名称来引用这些接口，而不必包括该接口的全部细节信息（这些信息在不同的机器中可能会不同）。</p>\n\n<p>接口配置包括接口的逻辑名称，以及用来解析实际使用的物理地址所需要的条件信息。</p>",
"<p>IO 子系统定义了由其他子系统（如 Undertow 和 Remoting）使用的 XNIO 工作节点（worker）和缓冲池。</p>\n<h2>工作节点</h2>\n<p>工作节点是 XNIO 工作节点实例。一个 XNIO 工作节点是 Java NIO API 的抽象层，其提供了如 IO 和工作节点线程管理，以及 SS L支持的功能。默认情况下，${build.shortName} 提供了一个名为 <code>default</code>的工作节点，但可以定义多个工作节点。</p>\n<h2>缓冲池</h2>\n<p>缓冲池就是包括一组 NIO 缓冲实例的池。</p>\n<p><strong>重要：</strong><br/>\n    更改缓冲区大小对应用程序的性能有很大的影响。对于大多数的服务器，理想的大小通常是16K。\n</p>",
"<p>JAX-RS 子系统用来启用 JAX-RS 应用程序的部署，以及它的功能。</p>\n<p>${build.fullName} 使用 <a href=\"http://resteasy.jboss.org/\" rel=\"nofollow\" target=\"_blank\">RESTEasy</a> 作为它的 JAX-RS 实现。</p>",
"<p>Java EE的连接器架构（JCA）为Java EE 系统定义了一个到外部异构企业信息系统（EIS）的标准体系结构。EIS的例子包括企业资源规划（ERP）系统，大型机事务处理（TP），数据库和消息传递系统。资源适配器是实现Java EE连接器API架构的组成部分。</p>\n<p>JCA 1.7 提供这些管理功能：</p>\n<ul>\n    <li>连接</li>\n    <li>事务</li>\n    <li>安全</li>\n    <li>生命周期</li>\n    <li>工作实例</li>\n    <li>事务流</li>\n    <li>消息流</li>\n</ul>\n<p>JCA 1.7是在Java Community Process 作为<a href=\"https://www.jcp.org/en/jsr/detail?id=322\" rel=\"nofollow\" target=\"_blank\">JSR-322</a>开发的。</p>\n\n<h2>资源适配器</h2>\n<p>资源适配器是提供 Java EE 应用程序和使用 JCA 规格的 EIS 系统间通讯的可部署 Java EE 组件。EIS 厂商经常提供资源适配器，允许他们的产品与 Java EE 应用程序轻易集成。资源适配器通常是由EIS厂商提供，以方便自己的产品与 Java EE 应用程序进行集成。</p>\n<p>企业信息系统可以是一个组织内的任何其他软件系统。例如，企业资源规划（ERP）系统、数据库系统、电子邮件服务器和专有的消息传递系统。</p>\n<p>资源适配器被打包在可以部署到${build.shortName}的资源适配器归档（RAR）文件。一个RAR文件还可能会包含在企业归档（EAR）部署中。</p>\n",
"<p>在应用程序可以连接到数据源之前，需要安装数据源供应商的JDBC驱动程序。您可以使用两种不同的方法安装JDBC驱动程序：</p>\n<dl>\n    <dt>模块</dt>\n    <dd><p>要安装J DBC 驱动程序作为一个模块，需要在${build.installDir}/modules</code> 中创建一个文件路径结构，把 JDBC 驱动 JAR 复制到 <code>main/</code> 子目录，并创建一个 <code>module.xml</code> 文件。</p>\n        <p>一旦JDBC驱动程序作为一个模块可用后，您可以使用此部分添加，修改和删除驱动程序配置。</p>\n    </dd>\n\n    <dt>部署</dt>\n    <dd>\n        <p>您可以象其它部署一样部署 JDBC驱动程序。这意味着，你可以在服务器组中跨多个服务器部署它们，如果你使用一个管理域。这意味着，如果您使用一个管理域，则可以在服务器组中跨多个服务器部署它们。任何JDBC 4标准的驱动程序都会根据名称和版本自动识别并安装到系统中。</p>\n        <p>在域模式中，作为应用程序部署的驱动程序将只在有与所选配置档案相匹配的服务器运行时，才会在本节显示。</p>\n    </dd>\n</dl>\n",
"<p>启用用来帮助进行故障排除的诊断数据收集功能。${build.shortName}订阅用户在向红帽请求支持时，可以提供这些信息。</p>",
"<p>JGroups 是创建可靠消息通讯的工具包，它可用来创建集群，其中的节点可以彼此发送消息。</p>\n<p><code>jgroups</code> 子系统为 ${build.shortName}提供了高可用性服务群组通信支持。它允许您配置已命名的渠道和协议栈，以及查看渠道运行时统计信息。当使用提供了高可用性能力的配置（如管理域中的<i>ha</i> 或 <i>full-ha</i> 配置集，或独立服务器的 <code>standalone-ha.xml</code> 或 <code>standalone-full-ha.xml</code> 配置文件）时， <code>jgroups</code>子系统可用。</p>\n<p>${build.shortName} 预配置了两个 JGroups 栈：</p>\n<dl>\n    <dt>udp</dt>\n    <dd>集群里的节点使用 Datagram Protocol (UDP) 多播进行彼此间的通讯。这是默认的堆栈。</dd>\n    <dt>tcp</dt>\n    <dd>集群中的节点使用 TCP 协议和其它节点进行通讯。</dd>\n</dl>\n<p>您可以使用预配置的设置，或根据您系统的具体情况定义自己的设置。</p>\n<p><strong>注意：</strong><br/>\n    TCP 需要更多资源开销，通常会比 UDP 要慢，因为它要进行错误检查，数级别排序，以及塞控制。对于UDP，JGroups 会处理这些功能，而 TCP 本身就可以保证这些功能。TCP是一个不错的选择使用的JGroups时不可靠的或高度拥塞的网络，或者多播不可用。\n</p>\n",
"<p>配置 JMX（Java Management Extensions）远程访问。</p>\n<p>JMX子系统在 Remoting 端点中注册了一个服务，所以到 JMX 的远程访问可以通过暴露 Remoting 连接器实现。</p>\n<p>这会在单机模式下默认打开，并通过端口 9990 进行访问。但在域模式下会被关闭，因此需要手工启动。在域模式下，端口将成为 Remoting 连接器的要被 ${build.fullName} 实例监视的端口。</p>\n",
"<p>管理 JPA（Java Persistence API）2.1 容器管理的需要，并允许您部署持久性单元定义、注解和描述符。</p>\n<p>Java Persistence API (JPA)是一个 Java 规范，用来在Java对象或类以及关系数据库间处理访问、持久存储和管理数据。JPA规范专注于透明对象以及关系形映射范例的成功。它对对象或关系形持久存储机制所需的基本 API和元数据进行了标准化。</p>",
"<p>管理 JSF（JavaServer Faces）的实现。</p>",
"<p>提供由 <a href=\"https://jcp.org/en/jsr/detail?id=77\" rel=\"nofollow\" target=\"_blank\">JSR-77</a> 规范所定义的 Java EE 管理能力。</p>",
"<p>日志子系统提供了高度可配置的日志功能，用于自己内部使用，并供部署的应用程序使用。它基于 JBoss LogManage，除了支持JBoss 日志（JBoss Logging），它还支持几个第三方应用程序日志框架。</p>\n\n<p>日志子系统使用日志类别和记录处理机的一个系统配置。日志子系统使用日志类别和记录处理程序进行配置。日志分类界定什么样的信息来捕获和日志处理程序定义如何处理这些信息（写入到磁盘，发送到控制台等）。</p>\n\n<p>日志记录配置集可以命名一组要创建的日志配置，并以独立于任何其他日志记录配置的方式分配给应用程序。日志记录配置集的配置几乎与主日志子系统相同。</p>",
"<p>日志子系统使用日志类别和记录处理程序进行配置。日志类别定义了需要捕获什么信息，日志处理程序定义了如何处理这些信息（写入到磁盘，发送到控制台等）。</p>\n",
"<p>日志记录配置集（Logging Profile）可以命名一组需要创建的日志配置，并以独立于任何其他日志记录配置的方式分配给应用程序。日志配置集的配置几乎与主日志系统相同。</p>",
"<p>邮件子系统允许您配置单独的邮件设置，名为邮件会话。邮件会话只能有三种类型的服务器：IMAP，POP，SMTP。</p>\n<p>每个服务都会指代一个以存在的出站套接字绑定 <code>outbound-socket-binding</code> （请参阅 <a href=\"#configuration;path=configuration%255C2socket-bindings\">Socket Binding Groups</a>）。</p>\n",
"<h2>Apache ActiveMQ Artemis</h2>\n<p>Apache ActiveMQ Artemis 是异步消息传递系统的一个开源项目。它是一个高性能、可嵌入、可进行集群并支持多种协议的系统。 ${build.shortName} 使用 Apache ActiveMQ Artemisuses 作为它的 JMS 代理，并被配置为使用 messaging-activemq 子系统。这完全取代了 HornetQ broker，但保留了与以前的版本协议的兼容性。</p>\n\n核心 ActiveMQ Artemis 与 JMS 没有直接关联，它提供了一个称为核心 API（core API）的非 JMS API。ActiveMQ Artemis 还提供了一个 JMS 客户端 API，它使用一个特殊的层来在核心 API 之上实现 JMS 环境。从本质上讲，与 JMS 的交互操作在客户端使用 JMS 客户端 API 转换为核心 API 操作。然后，所有操作都通过核心客户端 API 以及 Apache ActiveMQ wire 的格式进行送。服务器本身只使用核心API。如需了解更多相关信息，请参阅 <a target=\"_blank\" href=http://activemq.apache.org/artemis/docs/1.1.0/using-core.html\">ActiveMQ Artemis 文档</a>。\n",
"<p>${build.shortName} 消息集群允许一组 ${build.shortName} 消息服务器组成一个组以共享消息处理负载。集群中的每个活跃的节点都是一个活跃的 ${build.shortName} 消息服务器用来管理自己的消息并处理自己的连接。</p>\n\n<p>集群是通过每个节点在 ${build.shortName} 配置文件中声明到其它节点的连接而形成的。当节点形成一个到另一个节点的集群连接时，它在内部创建一个自己到其它节点间的核心 AP I连接。这是透明地在后台进行的，您不需要为每个节点明确地声明一个 API。这些集群连接允许消息在集群地不同节点间进行转移以平衡负载。</p>\n\n<p>需要获得与集群相关地完整文档，请访问 <a target=\"_blank\" href=\"https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/paged/configuring-messaging/chapter-28-clusters-overview\">Clusters Overview</a>。\n</p>\n\n<p>本节包含以下功能的配置：</p>\n<ul>\n    <li>广播组</li>\n    <li>发现组（discovery group）</li>\n    <li>集群连接</li>\n    <li>组处理器</li>\n    <li>JMS 桥</li>\n</ul>\n\n<h2>广播组</h2>\n<p>广播组是服务器通过网络广播连接器的方法。一种连接器定义了一个方式，客户端或其他服务器可以使用这个方式连接到服务器。</p>\n\n<p>广播组使用一组连接器，并在网络上广播它们。根据集群所配置使用哪个广播技术，它将使用 UDP 或 JGroups 来广播连接器对信息。</p>\n\n<p>广播组在服务器配置的 messaging-activemq  子系统中定义。每个 ${build.shortName} 消息服务器可以有多个广播组。</p>\n\n<h2>发现组（discovery group）</h2>\n<p>广播组定义了连接器信息如何从服务器广播，而发现组定义了接器信息如何从广播端点接收，例如，一个 UDP 多播地址或 JGroup 信道。</p>\n\n<p>发现组维护一个连接器列表，每个项代表了一个不同服务器地广播。当它接收来自特定服务器的广播终端的广播后，更新列表中的该服务器的条目。如果在一定的时间内没有接收到来自特定服务器的广播，则将删除这个服务器在列表中的条目。</p>\n\n<h2>集群连接</h2>\n<p>将群集连接分组，使消息可以在群集节点间进行负载平衡。集群连接在 ${build.shortName} 服务器配置中使用 <code>cluster-connection</code> 项进行定义。每个 ${build.shortName} 消息服务器可以定义零个或多个集群连接。\n</p>\n\n<h2>组处理器</h2>\n<p>在集群中，基于特定组 ID 的消息组可到达任何节点。对于一个节点，确定哪些组 ID 绑定哪个节点上的哪个消费者是很重要的。每个节点负责正确地把消息路由到有消费者需要处理这些组 ID 的节点上，而不管该消息组默认到达的位置。一旦带有特定组 ID 的消息发送到连接到集群中的特定节点的特定消费者，这些消息将不会再发送到其它节点，即使消费者已断开到节点的连接。</p>\n\n<p>这种情况是由组处理器处理的。每个节点都有个组处理器，该组处理器（与其他处理程序一起）负责将消息组路由到正确的节点。</p>\n\n<h2>JMS 桥</h2>\n<p>API 的功能是处理来自一个目标的消息，并将其转发到另外一个地址（通常是一个不同的 ${build.shortName} 消息服务器。</p>\n\n<p>源服务器和目标服务器不必处于同一个集群，使用网桥可以可靠地把消息从一个集群发送到另外一个集群（例如，在一个 WAN 中的集群中发送），或在互联网中（网络连接可能并不稳定）发送。</p>\n\n<p>该API具有内置的抗失败功能，果目标服务器连接丢失（例如，网络出现故障），该 API 尝试重试连接到目标，直到目标可以访问到为止。当目标可以被重新访问时，它将恢复正常运行。</p>\n\n<p>网桥是把独立的 ${build.shortName} 消息服务器连接到一起的可靠方法。为了使用核心 api，源和目标服务器都需要是 ${build.shortName} 消息服务器。</p>\n",
"<p>包含以下功能的配置：</p>\n<ul>\n    <li>Acceptor 和 Connector</li>\n    <li>Connector 服务</li>\n    <li>Connection Factories （池）</li>\n</ul>\n\n<h2>Acceptor 和 Connector</h2>\n<p>acceptor 定义了哪些类型的连接可以被 ${build.shortName} 内建的消息服务器接受。对于每个服务器，可以定义多个 acceptor。</p>\n\n<p>connector 定义了如何连接到一个内建的 ${build.shortName} 消息服务器，它被客户系统用来进行连接。</p>\n\n<p>如需了解更多与 acceptor 和 connector 相关的信息，请参阅 <a target=\"_blank\" href=\"https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/paged/configuring-messaging/chapter-8-configuring-the-messaging-transports\">Acceptors and Connectors 一节</a>。\n</p>\n\n<h2>Connector 服务</h2>\n<p>connector 服务的功能是集成外部组件和 Apache ActiveMQ Artemis 来发送和接收消息。</p>\n\n<h2>Connection Factories</h2>\n<p>默认情况下，${build.shortName} 消息子系统提供 <code>InVmConnectionFactory</code> 和<code>RemoteConnectionFactory</code> connection factory，以及 <code>activemq-ra</code> （池）connection factory。</p>\n\n<p><code>InVmConnectionFactory</code> 指代一个 <code>in-vm-connector</code>，可以用来在客户端系统和服务器都在同一个 JVM 上运行时发送和接收消息。<code>RemoteConnectionFactory</code> 指代一个 <code>http-connector</code>，可以用来在客户端系统和服务器运行在不同的 JVM 上时，通过 HTTP 接收和发送消息。\n</p>\n\n<p>组成池的 connection factory 可以用来配置集成的 ActiveMQ Artemis 资源适配器的入站和出站的连接。如需了解更多相关信息，请参阅 <a target=\"_blank\" href=\"https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html/configuring_messaging/resource_adapters#use_provided_amq_adapter\">Using the Integrated Resource Adapter for Remote Connections</a>。\n</p>\n",
"<p>包含以下功能的配置：</p>\n<ul>\n    <li>核心队列</li>\n    <li>JMS 目的地</li>\n    <li>安全设置</li>\n    <li>地址设置</li>\n    <li>转接</li>\n</ul>\n\n<h2>核心队列</h2>\n<p>Apache ActiveMQ Artemis core 不了解 JMS。它没有一个 JMS 主题的概念。JMS主题在 core 中作为一个有零个或多个队列与其绑定的地址（主题名称）来实现的。绑定到该地址的每个队列代表一个主题订阅。同样地，JMS 队列作为一个只有单一队列与其绑定的地址（JMS 队列名称）实现的。</p>\n\n<p>按照规则，所有 JMS 队列都会映射到 core 队列名称带有 “jms.queue.” 前缀的 core 队列。例如。名为“orders.europe”的 JMS队列会映射到名为“jms.queue.orders.europe” 的 core 队列。core 队列绑定到的地址也由 core 队列名提供。</p>\n\n<p>对于JMS主题在其代表订阅的队列都绑定是通过前面加上字符串给出的地址“jms.topic。”到JMS主题的名称。例如。名称为“news.europe” JMS主题将映射到核心地址“jms.topic.news.europe”</p>\n\n<h2>JMS 目的地</h2>\n<p>JMS目的地和 JMS连接工厂都是 JMS 管理对象。JMS 客户端使用目的地生成和使用消息。目的地允许 JMS 客户端在产生消息时指定目标，在使用消息时指定消息源。当使用 publish-subscribe 模式时，目的地被称为主题。当使用点对点模式时，目的地被称为队列。</p>\n\n<p>应用程序可以使用在服务器侧配置的、通常通过JNDI访问的多个不同的 JMS 目的地。</p>\n\n<h2>安全设置</h2>\n<p>安全设置用于配置特定目的地的安全性。这是通过使用 security-setting 配置项来添加一个安全限制来实现的。${build.shortName} 消息默认配置带有一个<code>security-setting</code> 。</p>\n\n<p>security-setting 选项使用通配符来处理要应用安全约束的目的地。一个 <code>#</code> 值代表匹配任何地址。如需了解更多相关信息，请参阅 <a target=\"_blank\" href=\"https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/paged/configuring-messaging/chapter-7-configuring-security#role_based_security_for_address\">Role Based Security for Addresses</a>。\n</p>\n\n<h2>地址设置</h2>\n<p>messaging-activemq 子系统带有多个可配置选项，它们可以用来控制，什么时候以及如何传递信息，应该尝试的次数，以及消息在什么时候过期。这些配置选项都存在于 <code>&lt;address-setting></code> 配置项中。通过使用通配符，可以使 ${build.shortName} 把一个 <code>&lt;address-setting></code> 应用到多个目的地。</p>\n\n<p>如需了解更多相关信息，请参阅 <a target=\"_blank\" href=\"https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/paged/configuring-messaging/chapter-6-address-settings\">Wildcard Syntax</a>。\n</p>\n\n<h2>转移</h2>\n<p>转移（Diverts）是 ${build.shortName} 消息中配置的对象，它被用来把消息从一个地址转移到另外一个地址。.转移可以分为以下几种类型：\n\n<dl>\n    <dt>排他（exclusive）</dt>\n    <dd>消息只转移到新的地址，永远不会发送到旧地址。</dd>\n    <dt>非排他（non-exclusive）</dt>\n    <dd>消息被发送到旧地址，并把它的一个副本发送到新地址。非排他转移可用于分离消息的数据流。</dd>\n</dl>\n\n<p>转接只会把消息转移到同一台服务器上的地址。如果需要把消息转移到另外一台服务器的一个地址时，则可以先把它转移到本地的 store-and-forward 队列中，然后设置一个 api 来从队列中获取信息并转发到另外一个服务器的一个地址上。</p>",
"<p>高可用性是在一个或多个服务器发生故障后，系统可以继续运行的能力。</p>\n\n<p>故障转移是高可用性的一部分，当一个服务器出现故障时，客户端连接可以到从出现故障的服务器迁移到另一个服务器，从而使客户端应用程序可以继续运行。</p>\n\n<p><strong>注意</strong><br/> 在进行故障转移时，只有具有持久性的消息才会保留。任何非持久性消息的数据将在故障转移后丢失。</p>\n\n<h2>活跃/备份对</h2>\n<p>${build.shortName} 消息允许服务器以活跃/备份对的形式连接到一起，其中每个活跃的服务器都有一个备份。活跃服务器从客户端接收消息，而备份服务器不进行任何操作，直到发生故障转移。一个备份服务器只能由一个活跃服务器所拥有，它会停留在被动模式，等待接管活跃服务器。</p>\n\n<p>当活跃服务器出现崩溃情况，或正常止工作时，当前处于被动模式下的备份服务器将变为新的活跃服务器。如果新的活跃服务器被配置为允许自动回滚，则它会在检测到旧的活跃服务器重新正常工作后自动停止工作，从而使原来的活跃服务器重新开始接收消息。</p>\n\n<p><strong>注意</strong><br/> 如果只部署了一个活跃/备份服务器对，则不能有效地使用它们前面的负载平衡器，因为备份服务器不会主动处理消息。此外，备份服务器上的服务（如 JNDI 和 Undertow Web服务器）不处于活跃状态。出于这些原因，不支持把 JEE应用程序部署到作为备份消息服务器的${build.shortName} 实例中。</p>\n\n<h2>HA策略</h2>\n<p>${build.shortName} 消息支持两种不同的策略用于备份服务器：复制（replication）</em>和<em>共享存储（shared store）</em>。每个策略都可以作为采取主或从策略。请记住，每个消息服务器只有配置一个 HA 策略选项。</p>\n\n<p>如需了解更多相关信息，请参阅 <a target=\"_blank\" href=\"https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/paged/configuring-messaging/chapter-29-high-availability\">High Availability</a>。</p>\n",
"<p>${build.shortName} 消息包括一个全功能的JMS消息API。JMS API的功能是使用来自于一个源队列或主题的消息，并将它们发送到目标队列或主题（通常在不同的服务器上）。</p>\n\n<p>源服务器和目标服务器可能会处于不同的集群，这使得桥接适合于这种情况，因为它可以可靠地把消息从一个集群发送到另外一个集群（例如在一个 WAN 不同集群间发送消息，而 WAN 的网络连接可能并不可靠）。</p>\n\n<p>\n    <strong>注意</strong><br/>不要混淆 JMS 桥与核心桥。JMS 桥可以用来桥接任何两个JMS 1.1兼容的 JMS 提供者并使用JMS API。核心桥用于桥接任何两个 ${build.shortName} 消息实例，并使用核心 API。最好是尽可能使用核心桥而不是JMS桥。\n</p>",
"<p>Apache ActiveMQ Artemis每个 Apache ActiveMQ Artemis 服务器都有自己的超高性能持久性日志，它被消息和其它需要持久性的功能使用。</p>\n\n<p>使用高性能日志功能可以使持久性消息的性能大大提高，而这些性能不会通过使用关系数据库实现。</p>\n\n<p>Apache ActiveMQ Artemis 客户端（可能会位于不同的物理机器上）可以和 Apache ActiveMQ Artemis 服务器进行交互。当前，Apache ActiveMQ Artemis 提供了两个用于客户端的消息 API：</p>\n\n<ol>\n    <li>核心客户端 API（Core client API）。一个简单直观的 Java API，提供全套通讯功能，且没有 JMS 那么复杂。</li>\n    <li>JMS 客户端 API。标准的用于客户端的 JMS API。</li>\n</ol>\n\n<p>Apache ActiveMQ Artemis 还在服务器端提供了不同的协议实现，您可以使用相应的客户端来使用这些协议：</p>\n\n<ol>\n    <li>Stomp</li>\n    <li>OpenWire</li>\n    <li>AMQP</li>\n</ol>\n\n<p>JMS 的语言环境通过客户端上的 JMS 门面层实现。</p>\n\n<p>Apache ActiveMQ Artemis 服务器并不是一个 JMS，实际上它并不知道任何 JMS 的信息。它是一个与具体协议无关的消息服务器，被设计为可以使用不同的协议。</p>\n\n<p>当用户在客户端使用 JMS API 时，在使用 Apache ActiveMQ Artemis wire 的格式进行转换前，所有 JMS 交换数据都会被翻译为在 Apache ActiveMQ Artemis 核心客户端 API 进行的操作。</p>\n\n<p>服务器始终只与核心 API 进行交互。</p>",
"<p>支持在 WildFly 中部署的应用程序使用 Eclipse MicroProfile Config集成使用 <a href=\"https://github.com/smallrye/smallrye-config/\">SmallRye</a> 组件提供对 MicroProfile Config 的实现。\n</p>\n",
"<p>mod_cluster是一个基于httpd的负载平衡器。与 mod_jk 和 mod_proxy 一样，mod_cluster 使用一个通信信道把 httpd 的请求转发到一组应用服务器节点中的一个。与 mod_jk 和 mod_proxy 不同，mod_cluster 利用了应用服务器节点和 httpd 之间的附加连接。</p>\n\n<p>应用服务器节点使用此连接来传输服务器端的负载平衡因素，以及把生命周期事件传回到 http。这些操作通过使用一组称为 Mod-Cluster Management Protocol (MCMP) 的 HTTP 方法函数实现。这个额外的反馈信道为 mod_cluster 提供了其他负载均衡解决方案没有提供的智能级别和精细度。</p>",
"<p>把项绑定到全局 JNDI 命名空间，并配置远程 JNDI 接口。</p>",
"<p>文件系统路径的逻辑名称。<code>domain.xml</code>、<code>host.xml</code> 和 <code>standalone.xml</code> 配置都包括一个可以声明路径的项。然后，该配置的其它部分可以通过它们的逻辑名称来引用这些路径，而不需要包括该路径的全部细节（不同机器的情况可能会不同）。</p>\n\n<p>例如，logging 子系统配置中包括了一个代表 <code>jboss.server.log.dir</code> 路径的项，它指向服务器的 <code>log</code> 目录。</p>",
"<p>启用包括 JBoss Microcontainer 服务的部署（以前版本的 ${build.shortName} 支持）。</p>",
"<p>配置文件被命名为每个子系统的配置集合沿子系统。子系统是一组额外的由扩展添加到核心服务器功能。子系统的各项功能，如，Servlet处理能力，EJB容器，JTA等。</p>\n\n<p>可定义不同的配置文件来解决不同服务器组的特定需求。</p>\n\n<img class=\"preview\" src=\"previews/profiles.png\"/>",
"<p>JBoss Remoting 有三个顶级配置元素：worker 线程池、一个或多个连接器（connector），以及一系列的本地和远程连接 URI。</p>\n<p>大多数人不需要配置 Remoting 子系统，除非他们使用自定义连接器，用于自己的应用程序。 作为 Remoting 客户端的应用程序（如 EJBs）需要独立的配置来连接到一个特定的连接器。</p>",
"<p>${build.shortName} 可以被挂起或安全关闭。这使得当前的请求可以正常完成，而不再接受任何新的请求。超时值指定了挂起或关机操作需要等待多长时间以使当前的请求可以完成。当服务器被挂起，管理请求仍在处理。</p>\n<p>安全关机操作是在一个服务器范围内进行协调的，主要集中在请求进入服务器的入口点。以下子系统支持正常关机：</p>\n<dl>\n    <dt>Undertow</dt>\n    <dd><code>undertow</code> 子系统会等待所有请求完成。</dd>\n    <dt>Modcluster</dt>\n    <dd><code>modcluster</code> 子系统会通知负载均衡器服务器正在被挂起，处于 <code>PRE_SUSPEND</code> 阶段。\n    </dd>\n    <dt>EJB</dt>\n    <dd><code>ejb3</code> 子系统将等待所有远程EJB请求和MDB消息传递来完成。发送到 MDB 的操作会在 <code>PRE_SUSPEND</code> 阶段停止。EJB 计时器被挂起，错过的计时器会在服务器恢复操作时被激活。\n    </dd>\n    <dt>EE Concurrency</dt>\n    <dd>服务器将等待所有活跃的任务完成。所有排队的任务将被跳过。当前，因为 EE Concurrency 不具有持久性，所以被跳过的队列中的任务将会丢失。<br/>当服务器处于挂起状态时，已被调度的任务会在计划的时间执行，但会产生一个 <code>java.lang.IllegalStateException</code>。一旦服务器恢复，调度的任务将继续正常执行。在大多数情况下，任务不需要再被重新调度。\n    </dd>\n    <dt>Batch</dt>\n    <dd>服务器将在超时时间内停止所有运行的任务，并推迟所有预定的任务。<br/>正常关机目前不会拒绝入站的远程分布式交易，或新的入站JMS消息。由 inflight 的操作所调度的 EE 批处理任务和 EE concurrency 任务当前允许执行。但是，已提交的 EE concurrency 任务如果已超过超时窗口，则在执行时出错。\n    </dd>\n</dl>\n<p>请求由 request-controller 子系统进行跟踪。如果没有这个子系统，暂停和恢复能力是有限的。在挂起或关机前，服务器将不会等待请求完成。但是，如果您不需要这个功能，则可以删除 request-controller 子系统，这可能使性能有一定提高。</p>",
"<p>资源适配器是一个可部署的组件，它使用 Java Connector Architecture (JCA) 规范为 Java EE 应用程序和 EIS （Enterprise Information System）系统间提供了通讯功能。资源适配器通常是由EIS厂商提供，以方便把自己的产品与 Java EE 应用程序进行集成。</p>\n<p>EIS 可以是一个组织内的任何其他软件系统。例如，ERP（Enterprise Resource Planning）系统、数据库系统、电子邮件服务器和专有的消息传递系统。</p>\n<p>资源适配器被打包为可以部署到服务器的资源适配器归档（RAR）文件。RAR 文件还可能包含在企业归档（EAR）的部署中。</p>",
"<p>启用包括 MBean 服务的 SAR 归档部署（以前的 ${build.shortName} 版本支持）。</p>",
"<p>一个安全域包括了认证、授权、安全性映射以及审计的配置。它实现了Java认证和授权服务（JAAS）声明的安全性。</p>\n<p>身份验证是指检验用户的身份。在安全性术语中，用户被称为主体。虽然认证和授权是不同的，许多包含身份验证模块还处理授权。\n</p>\n<p>授权操作是指，服务器确定已经过认证的用户是否有权限来访问该系统的特定资源或执行特定操作。</p>\n<p>安全映射指的是把信息传递到应用程序之前，对一个主体、角色或属性添加、修改或删除信息的能力。</p>\n<p>审计管理器允许您配置供应商模块来控制报告安全事件的方式。如果使用安全域，则可以从您的应用程序中删除所有特定的安全配置。这使您可以集中更改安全参数。可以从这种类型的配置结构获益的一种常见情况时，在测试环境和生产环境中移动应用程序。</p>",
"<p>elytron 子系统新出现在 ${build.fullName} 中。它基于 WildFly Elytron 项目，是一个可以用来实现在整个应用程序服务器中统一安全性的安全架构。elytron 子系统为应用程序和管理接口提供了一个单一的安全性配置点。WildFly Elytron 还包括了一组 API 和 SPI，以提供功能的定制实现以及与子系统进行集成的功能。</p>\n<p>此外，Elytron 还有其他几个重要特点：</p>\n<ul>\n    <li>更强的 HTTP 和 SASL 身份验证机制。</li>\n    <li>改进的体系结构，允许SecurityIdentities跨安全域传播。这确保了透明地转换以用于授权。这种转化使用可配置的角色解码器，角色映射器和权限映射器进行。</li>\n    <li>为 SSL / TLS 配置配置提供了一个集中的点，包括密码套件和协议。</li>\n    <li>SSL / TLS优化，比如主动 SecureIdentity 构建和密切捆绑授权建立SSL / TLS连接。主动 SecureIdentity 构建省去了基于每个请求进行 SecureIdentity 构建的必要。紧密捆扎认证来建立SSL / TLS连接可以在第一个请求被接收前，就进行权限检查。</li>\n    <li>一个安全的凭证存储用于取代以前的 vault 实现实现。新的安全凭证存储处理可以保存加密的字符串，还可以保存多种其它加密凭证类型。</li>\n</ul>\n<p>新的鞘翅子系统存在于平行于传统的安全子系统和传统核心管理认证。传统方法和 Elytron 方法都可以用来对管理接口进行保护，并为应用程序提供安全功能。</p>",
"<p>配置 Java Security Manager 使用的 Java 安全策略。</p>\n<p>Java Security Manager 是一个类，它用来管理 JVM（Java Virtual Machine）沙盒的外边界，控制在 JVM 中执行的代码如何与 JVM 外的资源进行交互。当 Java Security Manager 被启用时，Java API 在执行可能存在潜在的安全问题的操作前，会通过 security manager 进行检查。Java Security Manager 使用一个安全策略来决定是否允许进行特定的操作。</p>",
"<p>定义单例（singleton）策略以配置单例部署的行为，或创建单例 MSC 服务的行为。</p>\n<p>集群的单例服务，也被称为高可用性（HA）单例，是部署在一个集群中的多个节点中的服务。该服务只设置在其中一个节点。运行单例服务的节点被称为主（master）节点。</p>\n<p>当主节点发生故障或者关闭时，会从剩余的节点中选出一个作为新的主节点，服务会在这个新的主节点上恢复进行。除了当一个主节点已经停止，而尚未选出另外一个主节点这段时间以外，其它时间服务都会由（且只由）一个节点提供。</p>",
"<p>套接字绑定是一个套接字的命名配置。<code>domain.xml</code> 和 <code>standalone.xml</code> 配置都包括一项用来声明命名的套接字配置。配置的其它部分就可以使用逻辑名来指代套接字，而不需要使用套接字配置的详情（详情会根据机器的不同而有所不同）。</p>",
"<p>配置子系统和全局资源，如接口、套接字绑定、路径和系统属性。</p>\n\n<p>查看并修改每个可用 <strong>子系统</strong>的配置。例如，添加一个数据源，配置消息提供者，或设置应用程序的安全性。</p>\n\n<p>相关链接</p>\n<ul>\n    <li><a href=\"#runtime\">服务器运行时</a></li>\n</ul>",
"<p>一组子系统配置。子系统是通过一个扩展为核心服务器增加的一组功能。作为这样的子系统，提供 servlet 处理能力，EJB容器，JTA支持等。</p>",
"<p>系统属性的值可以在 <code>domain.xml</code>、<code>host.xml</code>和 <code>standalone.xml</code>的多个地方设置。<code>standalone.xml</code> 中的值被设置为服务器启动过程的一部分。<code>domain.xml</code> 和 <code>host.xml</code> 中的值会在启动时应用到服务器。</p>",
"<p>配置事务管理器选项，如超时值、事务日志，以及是否使用 JTS（Java Transaction Service）。</p>",
"<p>Undertow 子系统可以用来配置 web 服务器和 servlet 容器的设置。它实现了 <a href=\"https://jcp.org/en/jsr/detail?id=340\" target=\"_blank\">Java Servlet 3.1 规范</a>，以及 websockets 并支持 HTTP 升级，它在 servlet 部署中使用高性能的非阻塞式的句柄。Undertow 子系统也可以作为一个支持 mod_cluster 的高性能反向代理。\n</p>\n\n<p>在 Undertow 子系统中，有 6 个主要组件需要配置：</p>\n<ol>\n    <li>全局设置</li>\n    <li>缓冲区高速缓存</li>\n    <li>服务器</li>\n    <li>Servlet 容器</li>\n    <li>过滤器</li>\n    <li>句柄</li>\n</ol>\n\n<p><strong>重要</strong><br/>\n    Undertow 子系统也依赖于 IO 子系统提供 XNIO worker 和缓冲池。IO 子系统需要被单独配置，并提供一个在大多数情况下都有最佳性能的默认配置。\n</p>\n",
"<p>部署的应用程序里的安全域引用的映射。</p>\n",
"<p>用于缓存静态资源的缓冲区缓存。${build.shortName}可以配置多个缓存以供部署使用，从而使不同的部署可以使用不同的缓存。缓冲区在地区（region）中分配，并有一个固定的大小。占用的空间总量可以通过把区域的最大数目乘以每个区域的缓冲区数目再乘以缓冲区的大小来计算。缓冲区高速缓存的缺省大小为10MB。</p>",
"<p>用于IO操作的字节缓冲池，它与 IO 子系统的缓冲池有相同的功能。所以它们可以互换替换使用，且必须具有唯一的名称。在配置需要保留的内存数量时，缓冲池可以进行比 IO 子系统更准确的配置。</p>",
"<p>过滤器可以实现对请求的某些方面进行改变，并可以控制一个过滤器在什么时候执行。常见的过滤器用例包括，设置页眉或进行 GZIP 压缩。</p>\n\n<p>下列过滤器类型可以被定义：</p>\n<ol>\n    <li>自定义过滤器</li>\n    <li>错误页面</li>\n    <li>表达式过滤器</li>\n    <li>gzip</li>\n    <li>Mod 集群</li>\n    <li>请求限制</li>\n    <li>响应头</li>\n    <li>重写</li>\n</ol>\n\n<p><strong>注意</strong><br/>\n    过滤器相当于与以前版本的 ${build.shortName} 中的 global valve。</p>\n",
"<p>Undertow 可以配置两种类型的句柄（handler）:</p>\n<ol>\n    <li>文件句柄</li>\n    <li>reverse-proxy 句柄</li>\n</ol>\n<p>文件句柄用于静态文件。每个文件句柄都会被附加到一个虚拟主机中的一个位置。Reverse-proxy 句柄可以使 ${build.shortName} 作为一个高性能的反向代理。它可以处理 AJP、HTTP 和 HTTP.2 后端，并支持 mod_cluster。</p>\n\n",
"<p>服务器代表一个 Undertow 实例并由以下元素组成：</p>\n<ol>\n    <li>Host</li>\n    <li>http listener</li>\n    <li>HTTPS listener</li>\n    <li>AJP Listener</li>\n</ol>\n\n<p>host 元素提供虚拟主机配置，而三个 listener 元素则提供到 Undertow 实例的相应类型的连接。</p>\n\n<p><strong>注意</strong><br/>\n    可以配置多个服务器，从而使部署和服务器完全分离。这在某些情况下（例如多租户环境）是有用的。\n</p>",
"<p>servlet容器提供了所有的servlet、JSP和 websocket 相关的配置，包括会话相关的配置。大多数服务器通常只需要一个单一的 servlet 容器，当可以通过增加一个额外的 servlet-container 元素来配置多个servlet容器。通过多个servlet容器，可以在不同虚拟主机的相同上下文路径中部署多个部署。</p>\n\n<p><strong>注意</strong><br/>\n    servlet 容器中提供的多个配置都可以通过使用 <code>web.xml</code> 文件在部署的应用程序中被独立覆盖。</p>",
"<p>JBossWS 组件将通过 webservices 子系统提供给应用程序服务器。JBossWS 组件用于进行对 WS 端点的处理。该子系统支持公布的端点地址，以及端点句柄链。默认的 webservice 子系统在服务器的域和独立配置文件中提供。</p>\n\n<h2>其他资源</h2>\n<p>webservice 子系统由 JBossWS 项目提供。如需了解更多相关信息，请参考项目文档。</p>\n<ul>\n    <li>JBossWS 主页： <a href=\"http://www.jboss.org/jbossws\" target=\"_blank\">http://www.jboss.org/jbossws</a></li>\n    <li>项目文档：<a href=\"https://docs.jboss.org/author/display/JBWS\" target=\"_blank\">https://docs.jboss.org/author/display/JBWS</a>\n    </li>\n</ul>",
"<p>为 ${build.shortName} 配置 CDI（Configure Contexts and Dependency Injection）功能。</p>",
"<p>核心管理配置以下功能：</p>\n<ul>\n    <li>配置改变：启用或禁用在内存中记录对配置文件的所有改变。对 profile 项中的改变可以在与这个配置文件相关联的服务器的运行时部分查看。</li>\n    <li>进程状态 Listener：添加自定义类侦听来监听服务器进程状态的任何变化。</li>\n</ul>\n",
"<p>内容仓库保存上传到域控制器的所有内容。正上传后，内容可以分配给服务器组。</p>\n\n<p id=\"drag-and-drop-deployment\">您可以使用 <strong>拖放操作</strong>添加新内容或替换现有的内容。只需将一个或多个文件拖放到内容列中。如果有相同名称的内容已存在，该内容将被替换，否则内容将被添加。</p>\n\n<p>您还可以添加未管理的部署。未管理的部署会指向服务器的本地文件系统上的一个文件夹。相较于管理的布署，未管理的部署在被部署前，不会被复制（上传）到服务器的部署仓库。部署的内容将保持在它的原始位置，并从此处直接部署。</p>\n\n<p>如果内容不再需要分配给服务器组，则可以再次删除内容。</p>",
"<p><strong>部署</strong> 就是一个可以部署到服务器的资源，如一个 WAR 或 EAR 应用程序。</p>\n\n<p>在一个管理域中，部署被分配到服务器组。服务器组中的所有服务器实例具有相同的部署内容。</p>\n\n<img class=\"preview\" src=\"previews/deployments.png\"/>",
"<p>管理服务器组的部署</p>\n<p id=\"drag-and-drop-deployment\">您可以使用<strong>拖放操作</strong>把新的部署添加到选定的服务器组中。只需将一个或多个文件拖放到部署列中。通过拖放添加的部署将默认被禁用。\n</p>\n<p>从内容仓库中选择一个或几个项目，并将其部署到所选的服务器组中。</p>\n<p>添加未管理的部署未管理的部署指向服务器的本地文件系统上的一个文件夹。相较于管理的布署，未管理的部署在被部署前，不会被复制（上传）到服务器的部署仓库。部署的内容将保持在它的原始位置，并从此处直接部署。。</p>\n",
"<p>服务器组是一组服务器，它们被管理和配置为一个整体。在一个管理域中，每个应用服务器实例都属于一个服务器组，即使它是唯一成员。组中的服务器实例共享相同的配置和部署的内容。</p>\n\n<p>使用此列来管理已分配给一个或多个服务器组的部署。上传新的部署，从内容仓库部署内容，或者创建一个未管理的部署。</p>\n",
"<p>代表任何可以部署到服务器里的部署（如应用程序 EJB-JAR、WAR、EAR，任何标准归档如 RAR 或 JBoss 专有的部署）。</p>\n<p id=\"drag-and-drop-deployment\">您可以使用 <strong>拖放操作</strong>添加新内容或替换现有的部署。只需将一个或多个文件拖放到部署列中。如果有相同名称的部署已存在，该部署将被替换，否则部署将被添加。通过拖放添加的部署将默认被禁用。\n</p>",
"<p>扩展可以为管理控制台增加新功能。它们通常使用 JavaScript，并使用<a href=\"https://github.com/hal/hal.next/wiki/JavaScript-API\">JavaScript API</a> 与控制台和管理接口进行交互。如果您想开发一个扩展，请参阅 <a href=\"https://github.com/hal/hal.next/wiki/Extensions\">https://github.com/hal/hal.next/wiki/Extensions</a>。\n</p>\n\n<div class=\"alert alert-warning\">\n    <span class=\"pficon pficon-warning-triangle-o\"></span>扩展使用 <strong>JavaScript</strong> 编写，并被<strong>注入</strong>到浏览器。请只安装您信任的扩展！\n</div>\n\n<h2>扩展点</h2>\n<p>控制台提供了扩展可以使用的四种不同的扩展点：</p>\n<ol>\n    <li>Header:在表头的“扩展”下拉列表中添加一个菜单项</li>\n    <li>Finder项：在特定的 finder 栏中添加一个新的项</li>\n    <li>Footer:在页脚的“扩展”下拉列表中添加一个菜单项</li>\n    <li>Custom:它由扩展自行决定如何添加到控制台</li>\n</ol>\n\n<h2>安装</h2>\n<p>扩展可以使用两种不同方式加入到控制台：</p>\n\n<dl>\n    <dt>捆绑扩展</dt>\n    <dd>\n        <p>捆绑扩展是 ${build.fullName} 安装的一部分，并安装成模块。它们需要在控制台以外安装。在添加或删除捆绑扩展之后，WildFly 和控制台需要重启/重新加载。</p>\n    </dd>\n\n    <dt>独立扩展</dt>\n    <dd>\n        <p>独立扩展由公共的端点托管系统进行管理。此类端点必须提供一个包括扩展元数据的 JSON 文件。您可以使用管理控制台添加和删除独立扩展。它们存储在浏览器的本地存储。因此，他们将范围限定在运行管理控制台的浏览器和 URL。</p>\n    </dd>\n</dl>\n",
"<p>配置相关的管理界面设置，查看过去的配置更改，管理管理控制台的扩展。</p>\n\n<h2>管理接口</h2>\n<p>查看和管理 HTTP 和原始管理接口，如允许的起源、安全领域、SSL上下文的列表。</p>\n\n<h2>扩展</h2>\n<p>查看和管理管理控制台的扩展。扩展可以为管理控制台增加新功能。它们通常使用 JavaScript，并分为两类：</p>\n<ul>\n    <li>捆绑扩展：由模块提供的 ${build.fullName} 按照的一部分</li>\n    <li>独立扩展：由公共服务器管理的第三方扩展</li>\n</ul>\n",
"<p>${build.shortName}中应用补丁的方法取决于您所使用的安装方法。如果您使用 ZIP 或 installer 安装  ${build.shortName}，则需要使用基于ZIP 的补丁管理系统如果您使用 RPM 在 Red Hat Enterprise Linux 上安装  ${build.shortName}，则需要使用 RPM 补丁。重要。</p>\n\n<p>在应用或回滚补丁之前，应该备份 ${build.shortName}服务器，包括所有部署和配置文件。</p>\n\n<p>对于使用 ZIP 或 Installer 安装的 ${build.shortName} ，相应的补丁程序可以从红帽客户门户网站获得。</p>\n\n<p>对于有多个 ${build.shortName} 主机的管理域环境，每个单独的主机都可以通过 ${build.shortName} 域控制器应用补丁。</p>\n\n<p>除了应用补丁，您也可以回滚补丁的应用。</p>\n\n<h3>使用 ZIP/Installer 安装补丁的主要信息</h3>\n\n<ul>\n    <li>如果您应用的补丁会更新一个模块，在运行时使用的新的 JAR 会保存在 <code>${build.installDir}/modules/system/layers/base/.overlays/PATCH_ID/MODULE</code> 中。原始的文件会保留在 <code>${build.installDir}/modules/system/layers/base/MODULE</code> 中，但这些 JAR 不会被使用。</li>\n    <li>为了减少 ${build.shortName} 补丁的大小，现在您将无法部分回滚一个补丁。对于已应用的补丁，您将只能回滚整个补丁。</li>\n    <li>例如，您为 ${build.shortName} 应用了 CP03，您将无法回滚到 CP01 或 CP02。如果您回滚到特定版本的补丁，则需要单独应用这些补丁。</li>\n</ul>",
"<p>使用 <code>mgmt-users.properties</code> 文件或一个 LDAP 服务器进行认证的用户可以是用户组的成员。用户组是能够被分配给一个或多个用户的标签。</p>\n<p>根据用户所属的用户组，RBAC 系统可以自动为用户分配角色。它也可以根据用户组的成员情况，把用户排除在某些角色之外。</p>\n<p>当使用 <code>mgmt-users.properties</code> 文件时，组信息保存在 <code>mgmt-groups.properties</code> 文件中。.当使用 LDAP 时，组信息被存储在 LDAP 服务器中，并由 LDAP 服务器维护。</p>",
"<p>基于角色的访问控制（RBAC）是为管理用户指定一组权限的机制。它允许多个用户共享管理服务器的职责，而每个用户无需具有无限制的访问权限。通过为管理用户提供“职责分离”的功能，它可以方便地在个人或组之间分散管理职责，而无需授予不必要的权限。这可以最大限度地确保服务器和数据的安全，同时提供了配置，部署和管理的灵活性。</p>\n<p>RBAC 由角色访问权限和限制来实现。它提供了 7 个预定义的角色，每个角色有不同的权限。预定义角色包括：Monitor、Operator、Maintainer、Deployer、Auditor、Administrator 和 SuperUser（选择一个角色可以获得与它相关的详情）。每个管理用户会被分配一个或多个角色，从而指定了这个用户在管理服务器时所具有的权限。</p>\n<p><strong>重要：</strong> 在把供应商改为 <code>rbac</code>之前，请确保您的配置具有一个用户将被映射为 RBAC 角色之一，最好是 Administrator 或 SuperUser 角色。否则，除非它被关闭，XML配置被编辑，您的安装将无法被管理。</p>",
"<h2>标准角色</h2>\n<p>七个预定义的用户角色：</p>\n<ul>\n    <li>Monitor</li>\n    <li>Operator</li>\n    <li>Maintainer</li>\n    <li>Deployer</li>\n    <li>Auditor</li>\n    <li>Administrator</li>\n    <li>SuperUser</li>\n</ul>\n<p>每个角色都有不同的权限，并为特定的用例设计。Monitor、Operator、Maintainer、Administrator 和 SuperUser 中的每个角色都建立在前一个角色之上，每个都具有比前一个更高的权限。Auditor 和 Deployer 角色分别与 Monitor 和 Maintainer 角色类似，但有一些额外的特殊权限和限制。</p>\n\n<h2>局部角色</h2>\n<p>局部角色（scoped role）是用户定义的角色，它们具有一个或多个标准角色的权限，但只适用于特定的服务器组或主机。通过局部角色，可以为管理赋予特定权限，但这些权限只适用于特定的服务器组或主机。</p>\n<p>局部角色由五个特点定义：</p>\n<ol>\n    <li>一个唯一的名字。</li>\n    <li>它所基于的标准角色。</li>\n    <li>它适用于服务器组或主机。</li>\n    <li>其受限制的服务器组或主机的列表。</li>\n    <li>是否所有用户都自动包括。它的默认设置为 false。</li>\n</ol>\n<p>在创建了一个局部角色后，它就可以象标准角色一样分配给用户和组。</p>\n<p>创建一个局部角色不会让您定义一个新的权限。局部角色只能在一个有限的范围内，应用现有角色的权限。例如，您可以创建一个基于 Deployer 的局部角色，并把它限制在一个特定的服务器组。</p>\n<p>局部角色的限制范围只有两个，主机和服务器组。</p>\n<dl>\n    <dt>主机局部角色</dt>\n    <dd>权限限制在主机范围（一个或多个主机）内的角色。这意味着，只提供对 /host=*/ 资源树的权限，其它主机资源会被隐藏。</dd>\n    <dt>服务器组局部角色</dt>\n    <dd>权限限制在服务器组范围（一个或多个服务器组）内的角色。。此外，该角色的权限也将适用于与指定的服务器组相关联的配置集、套接字绑定组、服务器配置和服务器资源。所有与指定服务器组没有逻辑关联的子资源，对用户都是不可见的。</dd>\n</dl>",
"<p>有七个预定义的用户角色：</p>\n<ul>\n    <li>Monitor</li>\n    <li>Operator</li>\n    <li>Maintainer</li>\n    <li>Deployer</li>\n    <li>Auditor</li>\n    <li>Administrator</li>\n    <li>SuperUser</li>\n</ul>\n<p>每个角色都有不同的权限，是专为特定的使用情况而设计的。Monitor、Operator、Maintainer、Administrator 和 SuperUser 中的每个角色都建立在前一个角色之上，每个都具有比前一个更高的权限。Auditor 和 Deployer 角色分别与 Monitor 和 Maintainer 角色类似，但有一些额外的特殊权限和限制。</p>",
"<p>一个管理用户被允许做什么取决于这个用户被赋予的角色。基于用户的组成员关系的包括和排除的系统决定了一个用户所归属的组。</p>\n<p>在以下条件下，用户被认为已分配至某个角色：</p>\n<ol>\n    <li>用户：</li>\n    <ul>\n        <li>被列为角色中包含的用户，或者</li>\n        <li>属于被列为包含在角色中的组的成员。</li>\n    </ul>\n    <li>用户：</li>\n    <ul>\n        <li>没有被列为从角色中排除的用户，或者</li>\n        <li>不属于被列为从角色中排除的组的成员。</li>\n    </ul>\n</ol>\n<p>排除项优先于包含项。</p>",
"<p>显示应用安全域配置及其相关部署。</p>\n",
"<p>提供了诸如“测试连接”和刷新操作访问运行时操作。</p>\n<p>为了查看数据源和JDBC的统计数据，请在配置部分启用它们。</p>",
"<p>显示所载部署 Servlet 和 WebSockets 的运行指标。</p>\n",
"<p>域由一个域控制器、一个或多个主机控制器，以及每个主机的零或多个服务器组组成。</p>\n<img class=\"preview\" src=\"previews/domain.png\"/>\n<p>域控制器是控制一个域的中心点。它确保每个服务器都根据域的管理策略进行配置。域控制器也是一个主机控制器。</p>\n<p>主机控制器是在其上运行 domain.sh 或 domain.bat 脚本的物理或虚拟主机。主机控制器配置为委派域管理任务到域控制器。每个主机上的主机控制器与域控制器进行交互，以控制主机上运行的应用程序服务器实例的生命周期，并帮助域控制器来管理它们。每个主机可以包含多个服务器组。</p>\n<p>服务器组是一组在它们上面安装了 ${build.shortName}的服务器实例，它们被管理和配置为一个服务器实例。域控制器管理部署到服务器组的应用程序和配置。因此，服务器组中的每个服务器共享相同的配置和部署。</p>\n",
"<p>为 elytron 子系统的以下资源提供一组运行时操作：</p>\n<ul>\n    <li><strong>证书认证机构账户</strong>：创建，停用和更新帐户，更改帐户的密钥。</li>\n    <li><strong>密钥管理器</strong>:重新初始化密钥管理器。</li>\n    <li><strong>安全域</strong>:读一个身份。</li>\n    <li><strong>信任管理器</strong>:重新加载证书撤销列表。</li>\n</ul>",
"<p>为 elytron 子系统的以下资源提供一组运行时操作：</p>\n<ul>\n    <li><strong>缓存领域</strong>:从缓存中移除所有条目。</li>\n    <li><strong>自定义可修改的领域</strong>:添加，读取和删除身份。为一个身份设置密码。</li>\n    <li><strong>文件系统领域</strong>:添加，读取和删除身份。为一个身份设置密码。</li>\n    <li><strong>LDAP 领域</strong>:添加，读取和删除身份。为一个身份设置密码。</li>\n    <li><strong>属性领域</strong>:从文件系统中重新加载属性文件。</li>\n</ul>",
"<p>为 elytron 子系统的以下资源提供一组运行时操作：</p>\n<ul>\n    <li><strong>凭证存储</strong>:添加，读取和删除别名，为别名设置一个密码。重新加载凭证存储。</li>\n    <li><strong>过滤密钥存储</strong>:阅读和删除别名。</li>\n    <li><strong>密钥存储</strong>:阅读，更改和删除别名。导入和导出证书。生成密钥对。生成证书签名请求。加载并保存密钥存储。</li>\n    <li><strong>LDAP 密钥存储</strong>:阅读和删除别名。</li>\n</ul>",
"<p>当 <code>domain.sh</code> 或 <code>domain.bat</code> 脚本在一个主机上运行时，主机控制器会被启动。</p>\n\n<p>主机控制器的主要职责是服务器管理。它负责协调域管理任务，并负责启动和停止运行在主机上的应用服务器进程。</p>\n\n<p>它与域控制器进行交互，以帮助管理服务器和域控制器之间的通信。一个域的多个主机控制器可以仅与一个域控制器进行交互。因此，所有主机控制器和在一个单域模式中运行的服务器实例拥有一个域控制器，而且必须属于同一个域。</p>\n\n<p>默认情况下，每台主机控制器都会从位于主机文件系统的解压 ${build.shortName}安装文件中的<code>domain/configuration/host.xml</code>文件中读取它的配置。<code>host.xml</code> 文件包括了以下与特定主机相关的配置信息：\n</p>\n\n<ul>\n    <li>从这个安装中运行的 ${build.shortName}实例名。</li>\n    <li>以下任何配置：</li>\n    <ul>\n        <li>主机控制器如何联系域控制器来注册自己并访问域配置。</li>\n        <li>如何找到并联系远程域控制器。</li>\n        <li> 主机控制器是否充当域控制器。</li>\n    </ul>\n    <li>特定于本地物理安装的配置。例如，在 <code>domain.xml</code>中声明的命名接口定义可以被映射到 <code>host.xml</code>中的一个特定机器的 IP地址。domain.xml 中的抽象路径名可以映射到 <code>host.xml</code> 中的实际文件系统路径。\n    </li>\n</ul>",
"<p>列出部署的REST资源</p>",
"<p>提供本地 JNDI 名称空间的概述。Java EE平台规范定义了以下JNDI上下文：</p>\n<ul>\n    <li><code>java:comp</code> - 该命名空间只限于当前的组件（如 EJB）</li>\n    <li><code>java:module</code> - 只限于当前模块</li>\n    <li><code>java:app</code> - 只限于当前应用程序</li>\n    <li><code>java:global</code> - 限于应用程序服务器</li>\n</ul>\n<p>除了标准的命名空间，${build.shortName} 还提供了以下两个全局命名空间：</p>\n<ul>\n    <li><code>java:jboss</code></li>\n    <li><code>java:/</code></li>\n</ul>\n<p>请注意，只有在 java:jboss/exported 上下文中的项才可以通过远程 JNDI 访问。对于 web 部署，<code>java:comp</code>是 <code>java:module</code>的别名，因此在一个 war 中部署的 EJB 没有自己的 comp 命名空间。</p>",
"<p>显示持久性单元的统计数据，其是所选服务器的活动部署的一部分。</p>\n<p>为了查看统计信息，请通过把 &lt;property name=\"hibernate.generate_statistics\" value=\"true\"/></code> 加入到 persistence.xml 来启用它。\n</p>",
"<p>查看服务器和应用程序日志，以帮助诊断错误，发现性能问题以及其它问题。要使日志可见，它需要位于服务器的 <code>jboss.server.log.dir</code> 目录中。控制台还支持用户 RBAC 角色分配，因此用户只能查看他们有权访问的日志。\n</p>\n\n<p>默认情况下，控制台显示日志文件的最后 2000 行内容。如果您要查看整个日志文件，请选择“下载”。要在一个单独的浏览器窗口中查看日志，请选择“在外部窗口打开”。</p>",
"<p>Apache ActiveMQ Artemis 服务器。每个 Apache ActiveMQ Artemis 服务器都有自己的超高性能持久日志，它用于消息和其他的持久性。</p>\n\n<p>使用高性能日志功能可以使持久性消息的性能大大提高，而这些性能不会通过使用关系数据库实现。。</p>\n\n<p>Apache ActiveMQ Artemis 客户端（可能会位于不同的物理机器上）可以和 Apache ActiveMQ Artemis 服务器进行交互。当前，Apache ActiveMQ Artemis 提供了两个用于客户端的消息 API：</p>\n\n<ol>\n    <li>核心客户端 API（Core client API）。一个简单直观的 Java API，提供全套通讯功能，且没有 JMS 那么复杂。</li>\n    <li>JMS 客户端 API。标准的用于客户端的 JMS API。</li>\n</ol>\n\n<p>Apache ActiveMQ Artemis 还在服务器端提供了不同的协议实现，您可以使用相应的客户端来使用这些协议：</p>\n\n<ol>\n    <li>Stomp</li>\n    <li>OpenWire</li>\n    <li>AMQP</li>\n</ol>\n\n<p>JMS 的语言环境通过客户端上的 JMS 门面层实现。</p>\n\n<p>Apache ActiveMQ Artemis 服务器并不是一个 JMS，实际上它并不知道任何 JMS 的信息。它是一个与具体协议无关的消息服务器，被设计为可以使用不同的协议。</p>\n\n<p>当用户在客户端使用 JMS API 时，在使用 Apache ActiveMQ Artemis wire 的格式进行转换前，所有 JMS 交换数据都会被翻译为在 Apache ActiveMQ Artemis 核心客户端 API 进行的操作。</p>\n\n<p>服务器始终只与核心 API 进行交互。</p>",
"<p>显示平衡器、节点和上下文的运行时指标。</p>\n",
"<p>elytron 子系统新出现在 ${build.fullName} 中。它是基于 WildFly Elytron 项目的。这个项目是一个安全架构，可以在整个应用程序服务器范围内实现安全的统一。elytron 子系统为应用程序和管理接口的安全提供了一个单独的接口。WildFly Elytron 另外还提供了一组 API 和 SPI，用户可以使用它们定制相关功能的实现并与子系统进行集成。</p>\n<p>运行时视图提供了这个服务器的不同存储（store）、安全领域（security realm）以及 ssl 资源的动态信息。</p>",
"<p>服务器组是一组服务器，它们被管理和配置为一个整体。在一个管理域中，每个应用服务器实例都属于一个服务器组，即使它是唯一成员。组中的服务器实例共享相同的配置和部署的内容。</p>\n\n<p>域控制器和主机控制器在其域的每个服务器组的所有服务器实例上，强制标准配置的实施。</p>\n\n<p>一个域可以包括多个服务器组。不同的服务器组可以配置为带有不同的配置集和部署。一个域可以配置为有不同的服务器层来提供不同的服务。</p>\n\n<p>不同的服务器组也可以有相同的配置集和部署。这样，就可以在一个服务器组中对应用程序进行升级，然后再在第二个服务器组中进行更新，而不需要完全停止服务。</p>\n",
"<p>查看和监控运行时服务，如日志文件，JVM 指标和子系统特定的运行时数据。</p>",
"<p class=\"topology\">在域中定义的主机、服务器组和服务器的概述，服务器组和服务器的概述信息，服务器组作为列，主机作为行。根据状态显示的服务器： <span class=\"status error\">error</span>、<span class=\"status warning\">needs reload / restart</span>、<span class=\"status suspended\">suspended</span>、<span class=\"status ok\">up and running</span> 和 <span class=\"status inactive\">stopped or disabled</span>。</p>\n<p>选择一台主机、服务器组或服务器来查看与其相关的更多信息或执行的操作。</p>",
"<p>显示注册为一个特定服务器的 ajp-listener、http-listener 和 https-connectors 的连接程序（connector）的运行时指标数据。</p>",
"<p>webserver (Undertow) 包括多个运行时指标数据，它们被分为以下几个部分：</p>\n<ul>\n    <li><strong>Application Security Domain</strong>:显示应用安全域配置及其相关部署。</li>\n    <li><strong>Server</strong>:显示注册为一个特定服务器的 ajp-listener、http-listener 和 https-connectors 的连接程序（connector）的运行时指标数据。</li>\n    <li><strong>Modcluster</strong>:显示平衡器、节点和上下文的运行时指标。</li>\n    <li><strong>Deployment</strong>:显示包括在部署中的 Servlet 和 WebSockets 的运行时指标数据。</li>\n</ul>",
"<p>工作节点（work）是 XNIO 工作节点实例。一个 XNIO 工作节点是 Java NIO API 的抽象层，其提供了如 IO 和工作节点线程管理，以及 SS L支持的功能。默认情况下，${build.shortName} 提供了一个名为 <code>default</code>的工作节点，但可以定义多个工作节点。</p>"]