天天看点

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

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