Jetspeed项目中Psml文件的数据库管理 出处 CN-JAVA原创:jurich PSML是Portal Structure Markup Language的缩写。它的目的是为了Jetspeed中内容结构的建设和提取。Jetspeed中支持两种形式的PSML管理:文件系统和数据库管理。何时需要使用数据库存储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.propertiestorque.database.default.adapter=mysqltorque.dsfactory.default.connection.driver = org.gjt.mm.mysql.Drivertorque.dsfactory.default.connection.url = jdbc:mysql://localhost:3306/jetspeedtorque.dsfactory.default.connection.user =roottorque.dsfactory.default.connection.password =4 将PSML文件从文件系统导入到数据库在配置文件JetspeedResources.properties中更改PSML Manager属性值:services.PsmlManager.classname=org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerServiceservices.PsmlImportManager.classname=org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerService使用ant进行导入:ant import5 将PSML文件从数据库中导出到文件系统在配置文件JetspeedResources.properties中更改PSML Manager属性值:services.PsmlManager.classname=org.apache.jetspeed.services.psmlmanager.CastorPsmlManagerServiceservices.PsmlImportManager.classname=org.apache.jetspeed.services.psmlmanager.db.DatabasePsmlManagerServiceservices.PsmlManager.root=/tmp/psml7使用ant进行导出:ant import