PSML是Portal StrUCture Markup Language的缩写。它的目的是为了Jetspeed中内容结构的建设和提取。
何时需要使用数据库存储PSML文件:
1 用户数量巨大;
2 提高性能和可分布性;
3 把Jetspeed的安全性和已有的数据库结合起来;
4 使用一个统一、安全的数据库来巩固所有的门户信息。
使用数据库存储PSML文件的缺点:
1 Jetspeed的运行必须依靠于数据库的运行;
2 速度不快的数据库将会影响Jetspeed的性能;
3 增加了复杂性;
4 你必须使用Jetspeed的PSML定制器来修改PSML文件,或者需要将PSML文件进行导入导出来进行修改,或者使用sql语句来操作复杂的PSML文件修改。
具体操作步骤:
1 在数据库中建立PSML所需要的3张表。Jetspeed中自带的Hypersonic数据库已经预先建好了这几张表。
2 Jetspeed使用Torque来进行数据-值对象的操作、维护.
首先编辑配置文件build/torque/dbpsml.properties;
再修改数据库schema文件build/torque/schema/dbpsml-schema.XML;
用ant进行编译处理,生成Java类和sql文件,并执行sql文件。
3 配置Jetspeed使用PSML数据库
将数据库驱动类的jar包放到特定目录下:webapp/WEB-INF/lib
修改配置文件webapp/WEB-INF/conf/Torque.properties
torque.database.default.adapter=mysql
torque.dsfactory.default.connection.driver = org.gjt.mm.mysql.Driver
torque.dsfactory.default.connection.url = jdbc:mysql://localhost:3306/jetspeed
torque.dsfactory.default.connection.user =root
torque.dsfactory.default.connection.passWord =
4 将PSML文件从文件系统导入到数据库
在配置文件JetspeedResources.properties中更改PSML Manager属性值:
services.PsmlManager.classname=
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService
services.PsmlImportManager.classname=
org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService
使用ant进行导入:
ant import
5 将PSML文件从数据库中导出到文件系统
在配置文件JetspeedResources.properties中更改PSML Manager属性值:
services.PsmlManager.classname=
org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService
services.PsmlImportManager.classname=
org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerService
services.PsmlManager.root=/tmp/psml7
使用ant进行导出:
ant import
作者:Jurich
工作单位:航天四创软件技术有限公司
相关经历:本人从事Jetspeed为基础的门户产品开发和门户应用开发已经有1年多的时间,熟悉J2EE技术体系,熟悉门户开发技术。欢迎有相关项目的组织或个人在技术方面经常交流。
联系方式:zhuhuangfeng@aerostrong.com.cn