您的位置:首页 > 数据库

项目中遇到的几个知识点总结

2008-01-07 17:25 295 查看
1)  利用Ant进行远程部署


<target name = “transfer” depends = “clean” description = “application transfer”>



       <scp file = “${backup.dir}”/${DSTAMP}${TSTAMP}/${portal.deploy.war.file}




              todir = “${username}:${password}@${address}:/usr/local/jboss/server/default/deploy”




              trust = “true”/>




      <scp file = “${backup.dir}”/${DSTAMP}${TSTAMP}/${manager.deploy.war.file}




             todir = “${username}:${password}@${address}:/usr/local/jboss/server/default/deploy”




             trust = “true”/>




</target>

trust=”true” 要附加上,否则会传输失败 

2)  事务问题
    项目需求的步骤
a)       应用端输入数据,根据数据生成XML表达的层次数据,传输给Servlet处理
b)      解析生成的XML
c)      database中的表中清除当前数据
d)      解析XML的结构,插入一个Node到database的表
        若在d)步骤产生exception,这时由于c)步骤已经将数据全部清空,可能造成错误。因此要设置connection的自动提交事务为false 【connection.setAutoCommit(false)】。一旦在某步骤中产生异常,在异常处理的时候回滚数据【connection.rollback()】




try......{


       connection.setAutoCommit(false);


       //cmsPersistencer.cleanTableData(connection);


        ...


       //cmsPersistencer.insertByXML(xmlString);     


       connection.commit();




}catch(Exception exception)......{




       try......{


              connection.rollback();




          }catch(SQLException sqlException)......{


              throw new Exception(sqlException);


          }


       throw exception;


}

3)  CSV问题
需求文档常常需要以Word的形式来表达,而某些数据在word文档中又以表格存在。为了方便程序处理,可以将Word中的表格复制到Excel中,然后另存为CSV文件。这时再根据CSV的结构特点,完成一个由CSV到XML转化的工具函数。这样我们就可以方便的处理需求的变化,而无需进行大量的改动。
我们的项目中的转换过程:
Word ---> Excel ---> CSV ---> XML--->js
4)  JBoss应用部署问题
将一个应用部署为服务器上的根时,有2种方法
a)       将应用复制到/jboss/server/default/deploy下,在应用的/WEB-INF目录下添加一个名为jboss-web.xml的文件。文件内容为:


<jboss-web>


        <context-root/>


</jboss-web>

b)      将应用复制到/jboss/server/default/deploy/jboss-web.deployer/下,把原来的Root.war目录改名,并将自己的应用改为ROOT.war即可。
可能的问题如下:
a)使得应用对服务器部署不通用或存在冗余的文件
b)设置<load-on-startup>1</ load-on-startup >的servlet若启用数据池进行数据库连接,这时数据库连接池没有准备好,因此会产生服务器启动失败。
5)  需求变更和数据初始化问题
项目应用开发过程中常常遇到比较麻烦的问题是需求的变更。而比这更麻烦的是在进行需求变更开发的过程中,客户要求在现有的基础上调整现有的数据。因此在开发过程中基线应至少保留以下内容:
a)  DB的SQL或建模工具生成的DB设计文件
b)  开发源代码或工作区
c)  初始化数据
d)  初始化数据的脚本
e)  编译打包好的应用
说明文档,包括时间、环境说明(例如,当前的文件编码格式等)、测试结果(或存在的BUG)
6)  项目初始化问题
项目在部署的过程中,常常需要对数据库的必要数据进行初始化。有如下几种方法进行数据初始化:
a)  使用应用程序进行初始化
通过Java进行JDBC连接插入数据
b)  使用SQL脚本进行初始化
通过执行insert语句插入数据
c)  使用备份数据进行初始化
通过进行数据库备份和恢复进行数据初始化,例如pg_dump
d)  使用数据库客户端工具
通过数据库客户端工具进行数据备份,然后在备份回存,例如pgAdmin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息