domain.xml 是 glassfish 服务器的核心配置文件,定义域的运行时行为、组件结构和资源设置,涵盖http/https监听器、虚拟服务器、jvm参数、连接池、安全配置及日志路径等关键配置。

domain.xml 是 GlassFish 服务器的核心配置文件,它定义了整个域(Domain)的运行时行为、组件结构和资源设置。 所有通过管理控制台或 asadmin 命令所做的配置变更,底层最终都会反映在这个 XML 文件中。
它管哪些关键配置
domain.xml 不是普通日志或临时文件,而是 GlassFish 启动和运行所依赖的“蓝图”。主要涵盖:
- HTTP 和 HTTPS 监听器:比如端口号(8080、4848、8181)、绑定地址(0.0.0.0 或 127.0.0.1)、SSL 设置等;
- 虚拟服务器(Virtual Servers):支持多域名托管,如 www.site-a.com 和 www.site-b.com 共享同一 GlassFish 实例;
- JVM 启动参数:包括堆内存(-Xmx)、系统属性(-Djavax.net.ssl.keyStore)、GC 选项等;
- 连接池与资源适配器:数据库连接池最大连接数(max-pool-size)、JDBC 资源定义、JMS 配置等;
- 安全配置:管理员账号、认证方式、transport-guarantee 级别(如强制 HTTPS);
- 日志与应用路径:日志目录位置(log-root)、部署应用根目录(application-root)等。
它怎么被使用和维护
这个文件位于 glassfish/domains/
- 通过浏览器访问 http://localhost:4848 修改配置时,后台自动更新 domain.xml 并生成备份(domain.xml.bak);
- 命令行执行
asadmin set或asadmin create-http-listener等操作,也会实时写入该文件; - 手动编辑前建议先停掉 domain(
asadmin stop-domain),改完后可用asadmin verify-domain-xml校验格式是否合法; - 不推荐直接修改 Java 接口级配置(如 server-config 下的嵌套 bean),除非清楚对应注解(@Configured)含义——因为 GlassFish v3+ 后不再依赖 DTD,而是靠 Java 类结构校验 XML。
它和其他配置文件的关系
domain.xml 是主干配置,但不是唯一配置源:
- 应用自身的
web.xml或glassfish-web.xml可覆盖 domain.xml 中的部分设置(例如安全约束、上下文路径); - 环境变量和 JVM 系统属性(如
-Dcom.sun.aas.instanceRoot)可在 domain.xml 中用 ${...} 引用,但不能在其中定义新环境变量; - 证书、密钥库(keystore.jks)、日志格式等细节通常单独存放,domain.xml 只负责指向它们的路径。










