论坛首页 Java企业应用论坛

Jwebap项目(一)——配置管理的设计

浏览 2137 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-12-04  
这几天,一直非常苦恼,Jwebap的原先的配置设计需要改造,新的方案一直拿捏不定。先说说Jwebap的一些配置要求:

由于Jwebap的Plug-in架构,配置的要求会更高,主要我想达到以下几个目的:


1)配置的形式,可以由第三方扩展者进行扩展
以后我希望每个plug-in就是一个jar,jar里面带有部署描述,描述jar包实现了几个Component,有什么属性。

2)要能够较好的适应配置的结构变化,由于目前Jwebap配置内容多是由组件主动获取的形式获得,配置结构的与组件的依赖较大

3)解决与jdom的依赖,解决jdom在中间件环境下不兼容的问题

4)能够方便的对配置文件进行读写
主要是想通过控制台可以修改部署的Component的属性


再说说暂定的方案:

1)配置文件定义:jwebap包含自己的配置文件jwebap.xml,在jwebap.xml里面包含两个标签
<component>
   <class></class>
   <property name=''></property>
   <property name=''></property>
   ...
</component>
...
<dispatcher>
   <class></class>
   <url-pattern></url-pattern>
   <property name=''></property>
   <property name=''></property>
   ...
</dispatcher>


对于plug-in对应的jar包里面的部署描述包含如上component定义的结构。

对于组件,配置是透明的,组件主要依赖于三种Context:ComponentContext,DispatcherContext,RuntimeContext。Context的构造由启动时根据配置API获取配置,初始完成。对于RuntimeContext包含所有从各个配置文件里面加载近来的Component对象,plug-in的加载可以采用组合模式完成。

2)配置API:所有的配置项都建立对应的java模型,模型对象采用seter设置配置参数。参看org.jwebap.config.model.*。然后建立配置文件与java对象的映射规则,这里采用了apache的Digister项目完成,它是一个非常好的XML映射工具,下面一篇再跟大家简单介绍下,多亏了这个项目。

不过现在对于配置的保存这块,现在还想不到什么好办法,直接去改plug-in的部署描述,似乎不是很合适。



web site:jwebap.sf.net
blog:leadyu.iteye.com
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics