Java 中的应用程序属性





2.00/5 (1投票)
Java 中管理应用程序属性的策略
引言
本文介绍了一些可用于在 Java 应用程序中存储和检索应用程序配置数据(又名属性)的技术。 目前,它主要关注部署到 WebSphere 等应用程序服务器的软件。
本文不是关于更广泛的配置管理主题,也不会告诉您如何在应用程序中准确地利用配置数据。 但它与之相关。
背景
大多数非简单 Java 应用程序都需要某种机制来处理与环境相关的应用程序属性。 本文介绍了一些可用于存储和检索应用程序配置数据的技术*。 这不是一篇关于配置管理的文章,它只涉及应用程序实际使用属性的细节。 它将概述一些可用的选项。 这主要关注应用程序服务器环境。
定义
配置数据主要用作键值对列表。
方法
- 无配置
- JVM 属性
- 平面文件
- 类路径属性文件
- 直接引用的属性文件
- Ini 文件
- 资源环境提供程序(在应用程序服务器内)
数据库属性
- 环境变量
无配置(硬编码)
这是指应用程序数据直接保存在应用程序中,对应用程序代码进行的任何更改都需要更改应用程序代码并重新编译应用程序。
JVM 属性
这是指将所有配置数据保存在 JVM 中。 这些值通常使用 System.getProperty 方法访问。
{Code}
System.getProperty("props.myproperty");
{/Code]
环境变量
这是当数据放置在应用程序/环境中时,它可以是操作系统的全局数据,也可以是带有 ID 的数据。
平面文件(又名属性文件)
当使用文件来存储配置数据时。 该文件可以在应用程序内部或应用程序外部。 有许多机制可以找到这些文件,两种常见的方法是使用 System 属性查找它们以指定其位置,另一种是查找类路径相关文件。
数据库属性
当在数据库中使用表来保存应用程序配置数据时,通常会有一个表,其中有一列与属性/键相关,并且有一列与值相对应,例如:
键/属性 | 值 |
property.key1 | key1 值 |
property.key2 | key2 值 |
资源环境提供程序
在 Websphere 应用程序服务器 6.1 中,可以将属性存储在资源环境提供程序中。 这使得可以通过 JNDI 查找将属性作为对象检索,实际检索到的对象取决于查找的实现方式,但它是一种存储属性的机制。
http://www.ibm.com/developerworks/websphere/library/techarticles/0611_totapally/0611_totapally.html
参考文献
资源环境提供程序 -> http://www.ibm.com/developerworks/websphere/library/techarticles/0611_totapally/0611_totapally.html
Commons Configuration -> http://commons.apache.org/configuration/
Database props -> http://www.springbyexample.org/twiki/bin/view/Example/SpringModulesWithCommonsConfiguration
历史
Danielp 2009-04-01 - 初始版本,仍有待完成