2013年5月15日 星期三

[開發環境 WAS] 簡易WAS載入錯誤的判斷


若碰到WAS在沒有掛載或是已掛載ear的情況下,WAS起不來,卡在23%並出現error message
可以先到server頁籤對WAS server點選Administration裡Run Administrative Console





進入Admin Console內展開應用程式,找到應用程式類型裡的WebSphere企業應用程式,檢查ear檔是否處於失敗狀態,若是,針對該檔按下解除安裝將ear檔排除之後再重新重啟WAS後,順利啟動後再掛上!


2013年5月12日 星期日

[Controller JAVA] Java共用模組 子案查次 位數不足時自動補零

可採用下列共用方法:
StringUtils.leftPad(字串型態參數str, 填入的位數size, 不足位數補上"0"padStr)

運作邏輯:
1.判斷字串是否為空,若為則回傳null,反之往下
2.若padStr為空, 則預設為" "
3.取出padStr的長度及str的長度,以size減去傳入字串的長度
針對相減的結果做不同的流程處理,最後回傳一個 new String(padding).concat(str);

2013年5月8日 星期三

[Controller JAVA] Controller內共用Gird

GridReturnWithInfoMap
以List of <?> 命名為queryList、傳入型態String的參數domainNm、陣列gridColumn、特定功能的formBean、布林型態isNumber

首先判斷資料是否為空dataSize(null or ZERO)
if流程判斷沒資料時回傳值;

有資料時的處理邏輯:
初始化取得目前頁數 nowPageNo :透過 formBean.getPage();取得
初始化取得每頁頁數 rowPerPage:透過 formBean.getRows();取得
計算Gird起始筆數: int displayItemNoStart = (nowPageNo - 1) * rowPerPage;

當起始筆數 > 當前資料筆數,進入無資料的處理;
若當前資料筆數 > 起始筆數

2013年5月6日 星期一

[ManagerImpl JAVA] 在managertImpl宣告 static variable, assign with a method or value

碰到的情況為,如果在ManagerImpl內的某一個method,ex:


    /**
     * {@inheritDoc}
     */
    @Override
    public int deleteByPK(String a, String b, String c, String d,
        String e, String f, String g) {
        xxxT002Dao.deleteByPKExceptFieldNo(a, b, c, d, e, f, g);
    }

這種情況欲將
xxxT002Dao.deleteByPK(a, b, c, d, e, f,g) 指派給
int deleteCount作計數用,因此部分variable為static variable,若是建立後按下sava,變數會是null,且噴出null Exception,原因為靜態記憶體位置已切割出空間但未實際將value分派給int deleteCount。

因此需要透過重啟WAS,靜態變數才可被指派。

另外,若是這種情況將method指派給int variable並想傳回前端Controller
第一個要注意method 是否為void型態,若是請將void轉換為欲回傳值的型態,並return 該variable。

在Controller將int deteleCount = xxxWManager.deleteByPK(String a, String b, String c, String d, String e, String f, String g);

※Manager也記得將回傳型態修改

[Dao、jpql JAVA] 異動entity造成的enhance

因異動某實體檔造成class異動
1. 對專案xxx名稱做Maven的process-classes動作,完成後重開broswer進入測試環境

若上述方法不可行時:
1.移除WAS內的ear檔
2.對整個專案做package
3.package後將ear檔掛回
4.開啟broswer到測試環境