目录位置和属性
在 Liberty 中,许多目录具有关联属性。配置服务器时,可以使用这些属性来指定文件位置。
目录或文件 | 属性 | 描述 |
---|---|---|
wlp/ | wlp.install.dir | 安装根目录 |
+- bin/ | 用来管理安装的脚本。例如,服务器。 | |
+- clients/ | Liberty 客户机和瘦客户机库。例如 restConnector.jar。 | |
+- jython/ | 基于 Jython 的脚本 | |
+- dev/ | 开发者资源(API、SPI、规范和工具)的根目录 | |
+- api/ | 缺省情况下,编译时和运行时可用的公用 API | |
+- ibm/ | Liberty 中的可用 API | |
+- javadoc/ | Java™ 文档归档 | |
+- spec/ | 缺省情况下,编译时和运行时可用的公用规范 API | |
+- third-party/ | 缺省情况下,编译时可用的第三方 API,而且在运行时,必须在配置中使用 classloader 元素的 apiTypeVisibility 属性,为应用程序指定这些 API。 | |
+- spi/ | 缺省情况下,编译时和运行时可用的公用 SPI | |
+- ibm/ | Liberty 中的可用 SPI | |
+- javadoc/ | SPI 的 Java 文档归档 | |
+- spec/ | 缺省情况下,编译时和运行时可用的公用规范 SPI | |
+- tools/ | Liberty 的 Ant 插件 | |
+- etc/ | 适用于所有服务器的用户定制服务器变量(可选) | |
+- server.env | 缺省服务器脚本环境变量(可选) | |
+- client.env | 缺省客户机脚本环境变量(可选) | |
+- jvm.options | 缺省 JVM 选项(可选) | |
+- lafiles/ | 许可证信息文件 | |
+- lib/ | 平台运行时环境 | |
+- templates/ | 运行时定制模板和示例 | |
+- server/ | 创建服务器时的服务器模板 | |
+- client/ | 创建客户机时的客户机模板 | |
+- usr/ | wlp.user.dir | 用户目录 |
+- extension/ | usr.extension.dir | 用户开发的功能部件 |
+- shared/ | ||
+- apps/ | shared.app.dir | 共享应用程序 |
+- config/ | shared.config.dir | 共享配置文件 |
+- resources/ | shared.resource.dir | 共享资源定义:适配器、数据源 |
+- stackGroups/ | shared.stackgroup.dir | 用于程序包和可安装文件的远程部署的共享堆栈组 |
+- servers/ | 共享服务器目录 | |
+- server_name | server.config.dir | 服务器配置目录。使用 ${server.config.dir} 来引用特定于服务器的配置(应用程序)。 |
+- bootstrap.properties | 服务器引导属性(可选) | |
+- jvm.options | 服务器 JVM 选项,用以替换 wlp/etc/jvm.options 中的值(可选) | |
+- server.env | 服务器脚本环境变量,与 wlp/etc/server.env 合并(可选) | |
+- server.xml | 服务器配置重叠(必需) | |
+- apps/ | 应用程序的服务器配置 | |
+- dropins/ | 服务器缺省应用程序 dropins 文件夹(可选) | |
+- application_name | 应用程序文件夹或归档(可选) | |
+- configDropins/ | 服务器配置 dropins 文件夹(可选) | |
+- defaults | 缺省服务器配置 dropins 文件夹(可选) | |
+- overrides | 服务器配置覆盖 dropins 文件夹(可选) | |
+- server_name | server.output.dir | 服务器输出目录。使用 ${server.output.dir} 来描述服务器所生成的工件(日志文件和工作区)。 |
+- logs/ | 服务器日志文件,包括 FFDC 日志(首次运行服务器之后存在的目录) | |
+- console.log | 基本服务器状态和操作消息 | |
+- trace_timestamp.log | 带有时间戳记的跟踪消息,详细级别由当前跟踪配置确定 | |
+- ffdc/ | 首次故障数据捕获 (FFDC) 输出目录 | |
+- ffdc_timestamp/ | 首次故障数据捕获 (FFDC) 输出,通常包含与所请求操作失败相关的诊断数据的选择性内存转储 | |
+- workarea/ | 服务器在运作时创建的文件(首次运行服务器之后存在的目录) | |
+- clients/ | 共享客户机目录 | |
+- client_name | 客户机配置目录。 | |
+- bootstrap.properties | 客户机引导属性(可选) | |
+- client.jvm.options | 客户机 JVM 选项,它将替换 wlp/etc/client.jvm.options 中的值(可选) | |
+- client.xml | 客户机配置重叠(必需) | |
+- apps/ | 应用程序的客户机配置 | |
+- logs/ | 客户机日志文件,包括 FFDC 日志(首次运行客户机之后存在的目录) | |
+- trace_timestamp.log | 带有时间戳记的跟踪消息,详细级别由当前跟踪配置确定 | |
+- ffdc/ | 首次故障数据捕获 (FFDC) 输出目录 | |
+- ffdc_timestamp/ | 首次故障数据捕获 (FFDC) 输出,通常包含与所请求操作失败相关的诊断数据的选择性内存转储 | |
+- workarea/ | 客户机运作时创建的文件(首次运行客户机之后存在的目录) |
配置服务器时,可以使用与每个目录相关联的属性(如果有)来指定文件位置。要获取示例,请参阅在 Liberty 中部署应用程序。
提示: 要确保配置的可移植性,请使用合适的最特定属性,而且不要依赖于资源之间的关系。例如,在某些配置中,安装位置 ${wlp.install.dir} 可能不是定制实例 ${wlp.user.dir} 的父代。
位置属性的程序化访问
通过在 server.xml 文件中使用 jndiEntry 配置元素,可将位置属性绑定至所选名称下的 JNDI 名称空间,例如:
<jndiEntry jndiName="serverName" value="${wlp.server.name}"/>
通过 JNDI 查找,在服务器(应用程序、共享库或功能部件)中运行的任何代码都可访问这类条目:
Object serverName = new InitialContext().lookup("serverName");
有关如何在配置中使用 JNDI 条目的更多信息,请参阅从服务器配置文件将 JNDI 绑定用于常量。
功能部件代码还可使用内核提供的系统编程接口 (SPI) 来解析这些属性的值,例如:
ServiceReference <WsLocationAdmin>locationAdminRef = bundleContext.getServiceReference(WsLocationAdmin.class);
WsLocationAdmin locationAdmin = bundleContext.getService(locationAdminRef);
String serverName = locationAdmin.resolveString("${wlp.server.name}");