inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.youkuaiyun.com/inkfish )。
PropertySet 是由opensymphony组织开发的的一个开源项目,但是那个项目文档少,长时间没有更新,官方文档错误奇多,所以现在在项目中使用并不广泛。但这并 不妨碍PropertySet成为一个优秀的key-value持久化模块,当前,PropertySet可以说已经够用。这里我整理书写了 PropertySet的文档。
介绍完了memory、map、XML方式,该JDBC方式登场了。JDBC方式存储,一定需要一个关系数据库,这里我用的是IBM DB2 v9.7。
1.建表SQL
下载下来的PropertySet包里不包含建表SQL,需要自己照葫芦画瓢来写,当然也有方便的方法,就是去下一个osworkflow,在src/etc/deployment/jdbc 目录下有一堆数据库的建表SQL,其中就包含了PropertySet的建表SQL。
2.配置文件
propertyset.xml 放在classpath根路径下,内容:
注:这个配置文件和propertyset默认的配置文件不同处在于仅有JDBC一段的配置,并且修改了JNDI名称。由于示例中不使用web容器,仅仅偷用tomcat的jar包里简单的JNDI naming服务,所以JNDI名字取的是一个不带“/”的字符串,如果带“/”如“jdbc/db2ds”会报错。
3.Jar包依赖
需要的jar包除上一篇中的那些jar包,还需要:
1.数据库JDBC驱动:db2jcc.jar、 db2jcc_license_cu.jar
2.tomcat里的jar:catalina.jar 、tomcat-juli.jar
3.EJB的jar:ejb-api.jar ,带EJB的jar是因为com.opensymphony.module.propertyset.JDBCPropertySet 中使用了com.opensymphony.util.EJBUtils ,EJBUtils 中某些需要被调用的方法使用了EJB的API。
4.Demo代码
5.典型实践
在一个项目中,每个人分成不同的模块,在测试机或者自己的本机各搭建了多个环境,每个环境有不同的参数,大家把配置信息存放到XML中,随时可以打开修改。在最后集成测试时,把配置信息统一放到测试机的测试数据库中进行统一管理。不同模块使用不同globalKey以防冲突。
本文档介绍了如何使用PropertySet的JDBC方式进行键值对的持久化,涉及IBM DB2数据库的表创建、配置文件设置、所需Jar包以及演示代码。通过示例展示了在非Web容器环境下,如何初始化JNDI并进行数据存储和读取。
1989

被折叠的 条评论
为什么被折叠?



