在包成Jar或war檔時,如何指定加入或排除額外的檔案,如配置檔、圖檔等。在pom.xml設定如下:

<build>

Jemmy 發表在 痞客邦 留言(0) 人氣()

  這是同學轉寄給我的,我也轉寄給別人過,不過,真的寫得很好,心有戚戚焉。所以轉貼於Blog上。

香港電臺知名主持人梁繼璋----送給兒子的備忘錄

Jemmy 發表在 痞客邦 留言(0) 人氣()

  到了壓力測試的撰寫,如何測試對Notes做完大量資料增改的執行時間?如何得知Notes已完成所有執行?而且有個難題是Notes的Domino Server時間未必和本機同步。取得Domino Server時間如下(紅字部份):

import lotus.domino.Database;

Jemmy 發表在 痞客邦 留言(0) 人氣()

  今天測出一個奇怪的事情:對Notes新增一筆A,再修改A沒問題,然後再刪除A就丟出NotesException,而Error Message竟是一堆問號。反觀如果Notes本來就有B這筆資料,先新增A再刪除B或先刪B再增A就沒有問題。所以矛頭就指向了Session,使用Lotus Script操作Notes,其物件階層是Session==>Database==>Document,每個物件都有recycle的method,在API定義是寫道:無條件歸還記憶體給系統。在對Notes做createDocument後,執行Document、Database的recycle再remove都還是丟出NotesException,直到執行Session的recycle後再執行remove就正常work,而且Session被recycle後毋須再createSession,可以同一份instance繼續使用。

  相對於上次提到逐筆取得Document再進行remove,今天發現有批次刪除的方式,看來會更有效能:

Jemmy 發表在 痞客邦 留言(0) 人氣()

  在為轉碼傷腦筋時,曾想把內碼轉成Unicode表示法如:\u4E00的字串混過去。雖然後來不用,不過運用Java Regex把Unicode表示法轉成Unicode字元可以一記:

str = "ABC\\u7CBE\\u8AA0";

Jemmy 發表在 痞客邦 留言(0) 人氣()

  Oracle Golden Gate(簡稱OGG)是Oralce出品的資料即時抄寫工具,它讀取redo.log來進行抄寫避免影響正在運作的Oracle的效能,目前可同步抄寫到Oracle、MySQL和SQL Server。OGG本身是一支standalone程式,也提供一個Java Adapter方便開發者客製抄寫作業。怎麼安裝自有Consultant處理,但實作Java Adapter還真的有些難度。這主題目前是我寫過最難寫的。

  OGG啟動後,可以切換到OGG Home目錄執行ggsci執行檔,會出帶出ggsci>的提示。下達info all命令後,可以work的狀況下,會顯示三類Extract(不是三個),Extract之於OGG類似於Process之於OS。其實extract就是process,可以用ps -ef | grep ogg觀察。這三類Extract分別是:

Jemmy 發表在 痞客邦 留言(0) 人氣()

  寫了那麼久的Java,現在才有機會寫JavaMail。之前存在一個誤解是要架設Mail Server,不過修正的是OS都有自己內建的Mail Server,也許沒有產品化的功能強大。

  JavaMail目前最新版是1.4.3,在Maven放的是1.4.1,還需引入activation,作用先不深究。pom.xml設定如下:

Jemmy 發表在 痞客邦 留言(0) 人氣()

  在Microsoft的spaces寫部落格最大的好處,除了即時分享給msn的朋友之外,對岸的同好也能搜尋到。而最大的壞處,不能像Google的Blog可以多重分類標籤,而且分類標籤居然有上限,和字母同字數。原本Lotus Notes被Java call的,只好放在Java類裡>"<。

  Survey了一段時間,對Lotus Notes的增改刪查有些掌握。Notes的資料庫是階層式資料庫,不同於關聯式資料庫(RDBMS),其Database是一個後綴名的.NSF檔。Notes和RDBMS的比較對照如下:

Jemmy 發表在 痞客邦 留言(0) 人氣()

  Notes的物件體系中,Database下的Document和Agent地位是並排的,DocumentCollection只是個介於Database與Document的集合,算不上一個層次。我推測發Mail的動作何以那麼複雜,係因為發Mail的動作是一支Agent程式,而Mail內容則是Document物件,兼具了Agent、Document性質。因為執行一般的Agent,根本不用繼承AgentBase,直接這樣寫就行:

public static void main(String[] args) throws Exception {

Jemmy 發表在 痞客邦 留言(0) 人氣()

  討厭的JDOM,語法習慣都和一般的Java libraries不太一樣,當然還沒像IBM的那麼奇怪。若想把單一的Element轉成XML String怎麼處理?壓根兒沒猜到JDOM把它當作Stream處理,所以沒有所謂的toXML、convert等method,要用XMLOutputer。轉字串很簡單的如下:

XMLOutputter outputter = new XMLOutputter();

Jemmy 發表在 痞客邦 留言(0) 人氣()