#
摘要: Tokyo Tyrant基本規范,翻譯自tt官網,地址為http://fallabs.com/tokyotyrant/spex.html。
本節介紹Tokyo Tyrant的服務器程序。
閱讀全文
摘要: Tokyo Tyrant基本規范,翻譯自tt官網,地址為http://fallabs.com/tokyotyrant/spex.html。
本節介紹Tokyo Tyrant的基本知識和安裝方法。
閱讀全文
摘要: Solr是一個基于Lucene java庫的企業級搜索服務器,本文記錄了solr的安裝過程,版本為最新的1.4.1。
閱讀全文
摘要: Tokyo Tyrant是目前評價最高的key-value數據庫之一,本文記錄在linux(suse11)上的安裝過程。
閱讀全文
摘要: 一直在使用easymock作為mock工具,但是easymock有一個一直令我極其惱火的地方:easymock將interface和class的mock區分開,給出了針對interface mock的easyMock和針對class mock的easyMock class extension。兩種mock被嚴格區分開,連jar包都是兩個,使用時不能混用,比如不能用easymock (非class extension)來mock class。
easymock已經發布了新的3.0版本,該版本的主要改進就是消除上述的問題,新版本中可以直接mock class,不再強制使用easyMock class extension。
強烈推薦還在使用2.*的朋友們升級到3.0版本。
閱讀全文
摘要: 有遇到類似的TortoiseSVN / subversive 信息無法識別的問題的朋友,可以這個方法。
閱讀全文
摘要: sonar 安裝配置筆記, 基于SUSE SLSE11, mysql.
閱讀全文
摘要: 近期自己折騰自己,放著正統的maven + junit不用,卻準備用ant + ivy 替代maven做依賴管理,用testng替代junit做單元測試。
閱讀全文
摘要: 眾所周知,對于高動態高可擴展的應用,OSGI是一個非常好的平臺。但是,也因此增加了復雜性,開發中對service的依賴變得復雜。這也是 service的關系管理成為OSGI中一個非常重要的部分,我們來看看OSGI中service依賴關系管理的方式。篇幅原因,只關注發展歷程,不具體介紹每個方式的詳細實現細節。
概括的說,目前在OSGI中主要有以下幾種service依賴關系管理的方法:
1. Service listener
2. Service binder
3. Dependency Manager
4. Declarative Services
5. iPOJO
6. blueprint
閱讀全文
摘要: 當時實際上,我們在檢查ThreadDeath的調用信息時,說明這個出現init()錯誤的filter還是被glassfish正常調用去執行doFilter()方法,這里和j2ee API的要求是不符合的。有點奇怪的是,glassfish一向是以嚴格遵循j2ee規范而著稱,居然在這里一反常態。
而更令人 郁悶的是,glassfish在處理這個有filter初始化出現ServletException異常的webapp時的前后表現:首先這個 webapp的啟動沒有問題,狀態正常。filter也被認為可以正常工作并加入了filter鏈。webapp中的功能正常,可以正常的接收請求并轉發給內容業務處理模塊。從這些跡象看這個webapp基本沒有問題。但是后面glassfish卻莫名其妙的認定,“this web application instance has been stopped already”,從而以ThreadDeath這種非常規的error來報錯。
閱讀全文
摘要: 對比最近遇到的兩個事情,明顯感覺sun有力不從心或者心不在焉的感覺,oracle對sun收購的負面影響至少在開源社區方面是顯而易見的,個人甚至懷疑oracle正在逐漸放棄之前sun一直努力支撐的開源社區。
閱讀全文
摘要: 剛剛鄙視完sun,繼續performance tuning,結果又發現問題。
有點懷疑metro是不是根本就沒有做過性能測試,我們的測試場景,openESB下通過bepl調用4個我們稱為common service的webservice,目前大概做到1200個tps,算下來common service的webservice的tps大概是1200*4 = 5K附近,上面的問題就非常明顯,之前tps沒有上去前沒有這么嚴重。
可以參考我之前的一個blog, http://m.tkk7.com/aoxj/archive/2010/04/29/319706.html,在解決這里提到的http long connection 和 TIME_AIT的問題之前,我們的tps比較低,cpu壓不上去,當時好像這個問題不明顯。后來搞定之后tps上來了才暴露出來。
考慮上一個blog中 == 比較無效導致cache失效的bug,我對metro的代碼質量真是很沒有信息。按說這樣的大型項目,release之前怎么也要做做壓力測試,穩定性測試之
閱讀全文
摘要: 依然是近期工作中發現的問題,真實案例,寫下來分享給大家。
總結:用 == 來比較非enum或者類型安全枚舉的對象實例,這種錯誤一般只有初學者才犯,萬萬沒有想到,能在metro這樣級別的代碼中也能出現。無限感嘆啊,再次援引同事的評語作為本文的結束語:
sun的程序員也是程序員啊!
閱讀全文
摘要: 近日做性能調優,主要是針對web service,運行于glassfish之上
最終的結果,還是比較理想的,修改了兩個參數之后,cpu終于壓上去了,tps也有了巨大的提升,而且TIME_WAIT的連接也大為減少。
但是這兩個max connections參數的名稱,注釋和實際測試中的效果,都有名不副實的感覺,令人極度困惑。
閱讀全文
摘要: fisheye2.2.1 & Crucible 2.2.1 安裝配置筆記。
閱讀全文
摘要: 今天,嘗試使用slf4j + logback的黃金組合,結果發現有點問題,slf4j和logback的最新版本不兼容。當然slf4j是1.6.0-RC0,正式發布時 logback應該會跟進發布新的版本吧。
閱讀全文
摘要: 這是一個真實案例,本周在工作中發現的,案例情況比較極端,因此顯得很滑稽很搞笑。但是深入一下,還是有些東西值得思考:
下一次,如果我面對一個函數/接口,要求傳入一個大對象,我手頭只有一個pk,還有一個現成的函數可以一行代碼就搞定查詢,我要如何才能擋住誘惑?
閱讀全文
摘要:
在SUSE SLES11 下安裝好tomcat6后,考慮方便需要設置tomcat為開機自動運行。
找到tomcat官方的安裝文檔 http://tomcat.apache.org/tomcat-6.0-doc/setup.html,按照要求安裝,中間發現有些問題,記錄下來備忘。
閱讀全文
摘要: 這段時間簡單的試用了一下jira,非常滿意。準備作為個人之后開發的首選缺陷管理工具,但是當時采用的是windows的全集成安裝方式,因此考慮在linux上正式的安裝一下,同時將數據庫換成mysql。
雖然最后的結果不大好,不過上面的這個安裝過程,已經遠比當前google上能找到的資料要多了。如果其他朋友有打算用jira4 + resin4 + mysql的,可以稍微參考,少走彎路。如果最后能安裝成功正確使用,希望能告知正確的安裝方法,謝謝!
閱讀全文
摘要: 前面的blog有提到,在選擇CMS系統時試用java版本的magnolia,結果很失望的放棄了。
重新將目光投向php + mysql的傳統CMS,我選擇了drupal,下面是drupal的安裝配置筆記。
閱讀全文