GlassFish的domain.xml文件有什么用

3次阅读

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

GlassFish的domain.xml文件有什么用

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//config/domain.xml,日常操作中:

  • 通过浏览器访问 http://localhost:4848 修改配置时,后台自动更新 domain.xml 并生成备份(domain.xml.bak);
  • 命令行执行 asadmin setasadmin create-http-listener 等操作,也会实时写入该文件;
  • 手动编辑前建议先停掉 domain(asadmin stop-domain),改完后可用 asadmin verify-domain-xml 校验格式是否合法;
  • 不推荐直接修改 Java 接口级配置(如 server-config 下的嵌套 bean),除非清楚对应注解(@Configured)含义——因为 GlassFish v3+ 后不再依赖 DTD,而是靠 Java 类结构校验 XML。

它和其他配置文件的关系

domain.xml 是主干配置,但不是唯一配置源:

  • 应用自身的 web.xmlglassfish-web.xml 可覆盖 domain.xml 中的部分设置(例如安全约束、上下文路径);
  • 环境变量和 JVM 系统属性(如 -Dcom.sun.aas.instanceRoot)可在 domain.xml 中用 ${…} 引用,但不能在其中定义新环境变量;
  • 证书、密钥库(keystore.jks)、日志格式等细节通常单独存放,domain.xml 只负责指向它们的路径。
text=ZqhQzanResources