实现环境独立性
某些运行期的配置会因为运行环境的不同而有所不同.比如链接数据库服务器的用户ID和用户密码在测试阶段和实际运行阶段可能不一样.对开发者而言,针对每种环境都要编写一个配置文件将是一个冗长乏味的工作.他们要考虑各种各样的环境下的配置可能.
所以不太可能这样做,一个更为有效的方法将抽象出配置文件中的信息,并将这些信息作为一个独立的属性文件(或作为环境变量).此文件将由系统管理员进行维护,而开发者所要做的无非只是从这些属性文件中提取属性值
配置器使用一个属性读取器(com.tanmayambre.wls.tools.utils.
PropertiesReader)读取不同环境的属性值,那些属性值将依照如下的顺序依次读取.后面读取的属性将覆盖之前读取的同名的属性.
+系统属性(System properties)
+环境变量(Environment variables)
+来自文件的属性(Properties from a file
环境变量可以声明为常用变量,比如环境名称或域名称.属性文件包含默认的值,比如,用户ID,用户密码,最大容量,最小容量.此文件关联着环境,所以单独的属性文件将对照不同的环境进行维护.
资源配置的XML文件不允许使用任何特殊环境下的变量,而必须使用那些声明为系统的或环境的变量,或特定环境下属性文件的某属性值.
这种解决方案的好处在于,无论开发者或是程序的编译者只需一次配置好所有环境下的配置.示例代码包含了一个这样的属性读取器,这个读取器可以读取环境相关变量.配置器使用这个属性读取器替换资源配置XML中的环境变量.此解决方法类似于Maven读取环境变量所使用的方法.
资源命名约定
因为我们要使创建的配置文件具有环境独立性,所以必须制定相应的命名规则来规范程序员和应用程序开发者对资源的命名.这也使得在跨平台使用时有统一的标准,有助于有效的维护系统.命名规格必须加于公布,文档化,并由开发者和部署人员达成共识.下列有几条关于命名规范的的指导:
+域级资源,比如数据链接池,JMS存储库等, 因为部署于跨服务器实例,所以不应该使用依赖特定服务器的变量.
+在命名时使用匈牙利字符命名方式
+根据应用程序命名的资源做为特定应用资源。
处理过程
下列步骤,概要的说明了开发和维护配置的过程.
1.针对每个环境,创建一个包含环境特性的属性文件(一次性).
2.发布资源命名约定的规范方针
3.将创建Weblogic服务器资源配置文件, 这是程序开发的一部份
4.在builder.xml中, 将创建和删除配置以及布署和反布署程序与ant任务相结合, 确保布署相关的任务依赖于资源配置任务。
5.在版本控制系统里, 检查Weblogic服务器配置和build.xml。
6.告知应用程序开发者, 环境变量已经可用.
7.在发布阶段,先发布Weblogic服务器资源配置.
8.使用ant的任务来完成部署工作.配置器任务能够创建资源配置,同时也能不熟应用程序.
优点
所建议的解决方案可以自动化以及维护Weblogic服务器配置.这些步骤具有如下的优势:
+对每个应用程序,模块化Weblogic服务器配置.部署应用程序变得异常简单.
+一种结构化的维护配置的方法.
+Weblogic9.0 使得WLST官方化
+创建配置文件只需要很少的工作量
+因为工具使用的是Ant的任务的方式,所以可以很方便地将此工具集成到Maven.
结论
这篇文章中,你已经看到如何将Weblogic服务器资源集成到应用程序中.完成这些工作借助于资源配置的XML文件,以及使用配置器任务按照必要的资源配置去布署。同时我们也看到了,如何使得我们的资源配置文件独立与环境.这些方法有助于机构完全自动化J2EE应用程序的部署和反部署工作,同时缩小错误出现的范围.如果对资源配置的XML文件加上版本控制的话,将更有利于对程序资源变动的追踪.
| 第1页: Weblogic服务器配置的种类 | 第2页: 资源配置的配置器任务 |
| 第3页: 实现环境独立性 |