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

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的結構,插入一個Nodedatabase的表

        若在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的結構特點,完成一個由CSVXML轉化的工具函數。這樣我們就可以方便的處理需求的變化,而無需進行大量的改動。

我們的項目中的轉換過程:

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)  DBSQL或建模工具生成的DB設計文件

b)  開發源代碼或工作區

c)  初始化數據

d)  初始化數據的腳本

e)  編譯打包好的應用

說明文檔,包括時間、環境說明(例如,當前的文件編碼格式等)、測試結果(或存在的BUG

6)  項目初始化問題

項目在部署的過程中,常常需要對數據庫的必要數據進行初始化。有如下幾種方法進行數據初始化:

a)  使用應用程序進行初始化

通過Java進行JDBC連接插入數據

b)  使用SQL腳本進行初始化

通過執行insert語句插入數據

c)  使用備份數據進行初始化

通過進行數據庫備份和恢復進行數據初始化,例如pg_dump

d)  使用數據庫客戶端工具

通過數據庫客戶端工具進行數據備份,然後在備份回存,例如pgAdmin
發佈了67 篇原創文章 · 獲贊 3 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章