Weblogic的config.xml文件详解
config.xml
域的中心配置文件是 /domains/DOMAIN_NAME/config/config.xml 文件。它用于指定域的名称以及域中每个服务器实例、群集、资源和服务的配置参数设置。config.xml文件中包含了一系列xml元素,其中域元素的为最顶层元素,域中所有元素都是域元素的子集。域元素包括服务器、集群、应用等子元素,这些元素可能还有其他自己的子元素。例如:服务器的子元素包含web服务器,SSL和日志等,应用程序的子元素包含EJB组件和Web应用组件等。
config.xml 的命名空间是 http://www.bea.com/ns/weblogic/90/domain,其 XML Schema(存在两个 Schema:一个用于主 config.xml,另一个用于安全分部)位于:
http://www.bea.com/ns/weblogic/90/domain.xsd
http://www.bea.com/ns/weblogic/90/security.xsd
这些 Schema 还位于 BEA_HOME/weblogic90/server/lib/schema/weblogic-domain-binding.jar 处的文件系统中的 JAR 文件中;Schema 在 JAR 文件中的路径名为 META-INF/schemas/schema-0.xsd。通过 XML Schema 可以使用 XML 编辑工具来修改和验证 config.xml 文件。
有关域配置 XML Schema 的参考指南,请参阅 WebLogic Server Domain Configuration Schema Reference。
编辑配置文件
在大多数情况下,不应直接修改config.xml文件或其他配置文件。通常情况下使用管理控制台或其他weblogic server工具来配置config.xml。每次配置更改后,将随后反映在配置文件中。
注意:在 WebLogic Server 执行时不能修改配置文件,因为 WebLogic Server 会定期重写这些文件。否则,所做的更改将会丢失,并且根据所使用的平台还可能导致 WebLogic Server 出现故障。
由于 WebLogic Server 配置文件都是标准格式的 XML 文件,因此可以使用 XSLT 修改它们或使用诸如 Apache Xerces 或 JDOM 的 XML 解析器应用程序将某些重复的更改编写为脚本。请确保对创建的任何脚本都进行全面测试,并在对每个配置文件进行任何更改之前先创建其备份副本。
配置文件归档
配置更改后,可以通过配置,让weblogic把他归档到一个旧文件中。这有助于在需要还原配置更改或配置文件损坏后进行恢复,不过后一种情况极少发生。当管理服务器启动时,它会保存一个包含配置文件的 JAR 文件,文件名为 config-booted.jar。在对配置文件进行更改后,旧文件将保存在域目录的 configArchive 目录下的一个 JAR 文件中,其名称按顺序编号,例如 config-1.jar.
是否要备份配置文件由 DomainMBean.ConfigBackupEnabled 特性指定,其默认值为 False。保留的配置归档文件的数目由 DomainMBean.ArchiveConfigurationCount 特性指定,其默认值为 0。
配置文件中的安全凭据
域安全的安全凭据和嵌入式 LDAP 服务器都以加密的形式存储在 config.xml 文件中。如果手工创建 config.xml,则需要找到这些凭据,并在对凭据加密后将加密凭据复制到 config.xml 文件中。
清单 3-1 配置加密凭据
<security-configuration>
<credential-encrypted>{3DES}encypted-value-here</credential-encrypted>
</security-configuration>
<embedded-ldap>
<credential-encrypted>{3DES}encypted-value-here</credential-encrypted>
</embedded-ldap>
辅助配置文件
在 WebLogic Server 9.0 之前,config.xml 文件是所有配置信息的仓库。现在,由中心 config.xml 文件引用的辅助配置文件可对多个 WebLogic Server 子系统进行配置。这些辅助配置文件驻留在 /domains/DOMAIN_NAME/config 目录的子目录中。
启动顺序
如果已设置环境中所述的所需环境,则在输入不带任何选项的命令 java weblogic.Server 时,WebLogic Server 会执行以下操作:
1.在domain_name/config 目录中查找名为config.xml 的文件。
2.如果domain_name/config 目录中存在config.xml,则WebLogic Server会执行以下操作:
a.如果在config/config.xml 中只定义了一个服务器实例,WebLogic Server 将启动该服务器实例。
例如,如果从 WL_HOME/samples/domains/medrec 发出 java weblogic.Server,则 WebLogic Server 会启动 MedRec 服务器。
b.如果在 config/config.xml 中定义了多个服务器实例:
如果定义了管理服务器,则用其名称查找该服务器。
如果未定义管理服务器,则查找名为 myserver.的服务器配置。如果找到此服务器配置,则启动 myserver 实例。
如果未找到名为 myserver 的服务器,WebLogic Server 将退出 weblogic.Server 进程,并生成错误消息。
3.如果在当前目录中没有 config.xml 文件,则 WebLogic Server 会提示用户创建一个。
a.如果响应 y,则 WebLogic Server 将执行以下操作:
创建名为 myserver 的服务器配置,并在名为 config/config.xml 的文件中保存此配置。所指定的任何选项都保存到 config.xml 文件中。例如,如果指定 -Dweblogic.ListenPort=8001,则 WebLogic Server 将 8001 保存在 config.xml 文件中。对任何未指定的选项,服务器实例使用默认值。
b.使用提供的用户名和密码创建拥有管理权限的用户。它将用户的定义以及其他与安全相关的基本数据存储在名为 DefaultAuthenticatorInit.ldift、DefaultRoleMapperInit.ldift 和 SerializedSystemIni.dat的domain_name/security 文件中。WebLogic Server 将用户名和密码加密并存储在server_name/security/boot.properties文件中,因此,在后续的服务器实例化过程中可以绕开登录提示。有关详细信息,请参阅“管理服务器启动和关闭”中的引导标识文件。
c.创建可以用于启动后续服务器实例的两个脚本,bin/startWebLogic.cmd 和 bin/startWebLogic.sh。可以使用文本编辑器来修改启动选项(如服务器是以生产模式还是开发模式启动)。startWebLogic 脚本包含描述每个选项的注释。
请注意,在新建域中服务器作为管理服务器启动。此域中没有其他服务器,也不包括任何部署或第三方解决方案。可以添加它们,就像可以将它们添加到任何 WebLogic 域中一样。