JBoss的standalone模式是单机运行场景下的常用部署模式,对应的standalone.xml配置文件位于JBoss安装目录的standalone/configuration文件夹下,该文件采用XML格式编写,整体遵循特定的层级结构,所有配置项都包裹在根标签<server>内部。

standalone.xml整体结构概览
standalone.xml的核心结构可以分为几个大的模块,每个模块负责不同维度的服务器配置,整体层级如下:
- 根节点:<server>,所有配置都在这个节点下定义
- 扩展模块:<extensions>,声明服务器加载的扩展模块
- 管理接口:<management>,配置管理控制台、CLI等管理相关的接口
- 网络接口:<interfaces>,定义服务器绑定的网络地址
- 套接字绑定:<socket-binding-group>,配置各类端口的绑定规则
- 子系统集合:<subsystem>,各类功能子系统的配置,是文件最核心的部分
- 部署配置:<deployments>,配置需要部署的应用信息
核心模块详细说明
extensions模块
该模块用于声明JBoss需要加载的扩展模块,每个扩展对应一个模块名,服务器启动时会自动加载这些模块的功能。示例配置如下:
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.deployment-scanner"/>
<extension module="org.jboss.as.ee"/>
<extension module="org.jboss.as.ejb3"/>
<extension module="org.jboss.as.jaxrs"/>
<extension module="org.jboss.as.jdr"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.jpa"/>
<extension module="org.jboss.as.jsf"/>
<extension module="org.jboss.as.logging"/>
<extension module="org.jboss.as.mail"/>
<extension module="org.jboss.as.naming"/>
<extension module="org.jboss.as.pojo"/>
<extension module="org.jboss.as.remoting"/>
<extension module="org.jboss.as.sar"/>
<extension module="org.jboss.as.security"/>
<extension module="org.jboss.as.transactions"/>
<extension module="org.jboss.as.web"/>
<extension module="org.jboss.as.webservices"/>
<extension module="org.jboss.as.weld"/>
</extensions>
management模块
该模块主要配置JBoss的管理相关功能,包括管理控制台的访问端口、认证方式等。通常分为管理接口配置和安全认证配置两部分,示例片段如下:
<management>
<security-realms>
<security-realm name="ManagementRealm">
<authentication>
<local default-user="$local" skip-group-loading="true"/>
<properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
<authorization>
<properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
<security-realm name="ApplicationRealm">
<authentication>
<local default-user="$local" allowed-users="*" skip-group-loading="true"/>
<properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
<authorization>
<properties path="application-groups.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
</security-realms>
<management-interfaces>
<http-interface security-realm="ManagementRealm">
<socket-binding http="management-http"/>
</http-interface>
</management-interfaces>
</management>
interfaces和socket-binding-group模块
<interfaces>模块用于定义服务器可以绑定的网络接口,比如管理接口、公共接口等,<socket-binding-group>则用于给不同的功能分配具体的端口。示例配置如下:
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
</interfaces>
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
</socket-binding-group>
subsystem子系统模块
子系统是standalone.xml中内容最丰富的部分,每个<subsystem>标签对应一个特定的功能模块,比如日志、数据源、Web容器、EJB等。以日志子系统为例,配置片段如下:
<subsystem xmlns="urn:jboss:domain:logging:3.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>
</subsystem>
配置文件修改注意事项
修改standalone.xml时需要注意,不要随意删除已有的核心配置项,修改后需要重启JBoss服务才能生效。如果需要调整某个子系统的配置,建议先找到对应的<subsystem>标签,再修改内部的属性,避免破坏整体结构导致服务启动失败。如果是生产环境,建议修改前先备份原配置文件,防止出现配置错误无法回滚。
JBossstandalone_xml配置文件结构服务器配置修改时间:2026-07-21 11:03:39