2007年10月31日 星期三

冬眠之神和lucene 的合體~~

我們用Hibernate 管理資料Persist到資料庫的工作;我們用 Lucene 來建立全文檢索的index 讓大家來進行複雜的搜尋。有沒有想過,當這兩種動作合為一體的時候有多麼好用?當你新增、刪除、改一個 entity的時候,可以不用再煩惱資料庫和Index間的sync問題;當使用者進行全文檢索的時候,不用再手撈一份資料庫的資料?

Hibernate-search 就是這麼好用的工具,programmer 只要用annotation設定要建全文索引的index ,並且在hibernate的設定檔設定好建索引的實體目錄、還有insert/update/delete的listener (一般使用hibernate 內建的就夠了) 讚喔 ~

2007年10月9日 星期二

JXTA 殺人事件

為了準備這學期分散式系統的作業,最近在study JXTA這個peer 2 peer的套件;本來是為了貪圖開發上的便利(say, JAVA),選擇這個套件做為開發的基礎,但是遇到許多想不到的困難…有點暈倒。
首先,JXTA的開發者資源不是很多,雖然tutorial code和programming guide 都有,但討論的群組不是很熱烈。一旦有困難,真的會無語問蒼天…
第二,如果你抱著「求人不如求已」的心態,下載了它的source code 來研究,會發現「咦?是安怎連compile 都有問題啊?」然後翻翻討論區,會有一篇十分隱秘的文章叫你去download nightly build. 當你照作之後,終於理智斷線在trace 的時候,行號和source code 對不起來的那一瞬間…(等於,前面做的全是白工…),真的configuration management 做得有夠隨便="=, 該檢討一下了。
罵歸罵啦,其實JXTA也有它的優點。如果看過其它的p2p套件,就會知道JXTA的2.5 版其實在物件的架構上十分優美,開發者可以很清楚的從high level的模型對應到API 的使用,這是不得不讚揚一下的地方。不過,你要不是它社群裏的insider, 開發時要準備一公升的血吐一吐…不然就是回歸2.4版那種醜醜的,但相對較穩定的版本…