天天看點

項目中遇到的幾個知識點總結

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