走自己的路

          路漫漫其修遠(yuǎn)兮,吾將上下而求索

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            50 隨筆 :: 4 文章 :: 118 評(píng)論 :: 0 Trackbacks

          2008年5月5日 #

               摘要: 基于MongoDB開發(fā)的統(tǒng)計(jì)服務(wù)對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行遷移,分析。  閱讀全文
          posted @ 2011-04-12 13:33 叱咤紅人 閱讀(2124) | 評(píng)論 (0)編輯 收藏

               摘要: 當(dāng)系統(tǒng)有海量數(shù)據(jù)需要級(jí)聯(lián)刪除時(shí),我們需要小心,如果同步刪除用戶體驗(yàn)會(huì)很差,他會(huì)等相當(dāng)長(zhǎng)的時(shí)間,直到系統(tǒng)超時(shí),另外還會(huì)給系統(tǒng)突發(fā)地增加很大的負(fù)載,  閱讀全文
          posted @ 2011-02-24 09:30 叱咤紅人 閱讀(2489) | 評(píng)論 (0)編輯 收藏

               摘要: Mysql在數(shù)據(jù)量大的情況下,會(huì)遇到水平分表的情況。將實(shí)際開發(fā)中遇到的分表解決方案總結(jié)了一下。  閱讀全文
          posted @ 2011-02-22 10:06 叱咤紅人 閱讀(7600) | 評(píng)論 (4)編輯 收藏

               摘要: 存放幾百萬條數(shù)據(jù)的Redis List的性能描述,使用小結(jié),并附上一個(gè)巧妙的使用例子。  閱讀全文
          posted @ 2010-12-30 18:06 叱咤紅人 閱讀(4916) | 評(píng)論 (1)編輯 收藏

          posted @ 2010-11-05 16:14 叱咤紅人 閱讀(2221) | 評(píng)論 (1)編輯 收藏

               摘要: Activemq-pool的PooledConnectionFactory解密,使用時(shí)需要注意。  閱讀全文
          posted @ 2010-11-02 08:55 叱咤紅人 閱讀(11595) | 評(píng)論 (2)編輯 收藏

               摘要: 網(wǎng)上大多數(shù)文章都是用keytool生成自簽名根證書,將根證書配置在tomcat的server.xml中。我不太喜歡用keytool,原因:
          1.我們可能換provider,不同的provider會(huì)有不同的算法實(shí)現(xiàn),算法的安全性和性能也可能不同,通過代碼生成比較方便一些,不同算法的實(shí)現(xiàn)要放在classpath上。
          2.通過代碼生成還有一個(gè)好處,會(huì)對(duì)整個(gè)流程理解的比較清楚,實(shí)現(xiàn)的原理到底是怎樣的。  閱讀全文
          posted @ 2010-08-14 01:06 叱咤紅人 閱讀(2749) | 評(píng)論 (1)編輯 收藏

               摘要: Lucene如何和數(shù)據(jù)庫集成,如何從數(shù)據(jù)庫中實(shí)時(shí)地將數(shù)據(jù)爬出,在Lucene中建索引。本文沒有使用AOP和ORM FRM的Listener方式,而是采用的主動(dòng)輪詢的方式從DB將確實(shí)存在在DB中的指定數(shù)據(jù)爬出,建全文索引??梢宰層脩魧?shí)時(shí)地搜出結(jié)果。需要考慮的問題很多,我只是把我能想到的給出來。如果大家有什么好的想法和建議,歡迎提出來。  閱讀全文
          posted @ 2010-05-07 07:12 叱咤紅人 閱讀(2775) | 評(píng)論 (1)編輯 收藏

               摘要: A項(xiàng)目一開始code的時(shí)候,沒有加任何test?,F(xiàn)在需要重構(gòu)了,我們根據(jù)use case設(shè)計(jì)了一些automation的high level 的接近integration test的functional tests. 但跑下來發(fā)現(xiàn)code coverage不高。于是老大讓我看看想些方法提高一下code coverage??偨Y(jié)一下。  閱讀全文
          posted @ 2010-03-10 17:23 叱咤紅人 閱讀(1851) | 評(píng)論 (2)編輯 收藏

               摘要: javamail已經(jīng)設(shè)計(jì)的很好了,精巧強(qiáng)悍,為什么還需要封裝它呢?  閱讀全文
          posted @ 2010-02-04 07:25 叱咤紅人 閱讀(2012) | 評(píng)論 (0)編輯 收藏

               摘要: 最近在javamail的基礎(chǔ)上,寫了一個(gè)Email channel,把相關(guān)知識(shí)總結(jié)一下。  閱讀全文
          posted @ 2010-01-16 12:33 叱咤紅人 閱讀(1878) | 評(píng)論 (0)編輯 收藏

               摘要: OC4J1033升級(jí)Oracle JDBC driver到11.1.0.7.0版本  閱讀全文
          posted @ 2010-01-15 13:17 叱咤紅人 閱讀(2019) | 評(píng)論 (0)編輯 收藏

          posted @ 2010-01-06 14:40 叱咤紅人 閱讀(450) | 評(píng)論 (0)編輯 收藏

          posted @ 2009-12-25 15:09 叱咤紅人 閱讀(2858) | 評(píng)論 (2)編輯 收藏

               摘要: 在用戶修改了領(lǐng)域?qū)ο蟮闹岛?,我們有時(shí)需要記錄下用戶的改動(dòng)。比如對(duì)一些關(guān)鍵業(yè)務(wù)對(duì)象的改動(dòng)有時(shí)往往需要發(fā)郵件通知客戶。有時(shí)用戶可能想查閱所有歷史的改動(dòng),甚至有可能會(huì)改回原先的值。領(lǐng)域邏輯關(guān)系往往比較復(fù)雜,這時(shí)我們會(huì)使用到ORM Framework。本文以toplink為例,講述如何利用toplink編寫一個(gè)完成此功能的簡(jiǎn)易Framework,我們暫且把它稱為ActionMemed。
            閱讀全文
          posted @ 2009-11-29 13:37 叱咤紅人 閱讀(1449) | 評(píng)論 (2)編輯 收藏

               摘要: 在一個(gè)月黑風(fēng)高的晚上,產(chǎn)品環(huán)境上所有application都OOM了,令人心驚膽寒,打開log文件,上下打諒著他,他就是傳說中的“java.lang.OutOfMemoryError: unable to create new native thread‘,到底誰創(chuàng)造出了這個(gè)魔鬼,原來一個(gè)application在瘋狂創(chuàng)建線程池,不過用TDA(Thread dump analyzer)看到也就只創(chuàng)建了400×2(2JVMs)個(gè)線程,但這并不算多,應(yīng)該還可以更多。奇怪!讓我們來剝下“java.lang.OutOfMemoryError: unable to create new native thread‘的外衣,看看誰是幕后黑手。。。。。  閱讀全文
          posted @ 2009-09-25 10:55 叱咤紅人 閱讀(34943) | 評(píng)論 (10)編輯 收藏

               摘要: Java Jingle  閱讀全文
          posted @ 2009-09-11 07:25 叱咤紅人 閱讀(438) | 評(píng)論 (0)編輯 收藏

               摘要: 最近又把壓在箱底的幾本單元測(cè)試相關(guān)的書翻了翻,既然翻了,順便拿了個(gè)筆頭記了記,好記性不如爛筆頭呀。內(nèi)容不算太多,平時(shí)寫Unit test時(shí)要follow,要深入理解,不然就不能學(xué)以致用。以后相關(guān)的內(nèi)容,就往這個(gè)坑里填了。  閱讀全文
          posted @ 2009-09-04 16:01 叱咤紅人 閱讀(11527) | 評(píng)論 (1)編輯 收藏

               摘要: java端RESTful web services的幾種實(shí)現(xiàn)方式  閱讀全文
          posted @ 2009-08-13 15:27 叱咤紅人 閱讀(4442) | 評(píng)論 (0)編輯 收藏

               摘要: 是用ServletContextListenser還是Servlet初始化資源  閱讀全文
          posted @ 2009-08-05 12:52 叱咤紅人 閱讀(1707) | 評(píng)論 (3)編輯 收藏

               摘要: Collect and collate. Introduction to Rest and SOAP, compare SOAP with Rest, how to implement Rest in java.  閱讀全文
          posted @ 2009-07-31 08:40 叱咤紅人 閱讀(431) | 評(píng)論 (0)編輯 收藏

               摘要: 悲觀離線鎖可以控制多事務(wù)的并發(fā),特別是當(dāng)多事務(wù)是在多個(gè)jvm上執(zhí)行時(shí),我們需要利用外部鎖,如DB鎖。本文利用Oracle PLSQL UL鎖,在JTA分布式事務(wù)中實(shí)現(xiàn)鎖管理器,并封裝成隱含鎖提供給應(yīng)用項(xiàng)目組使用。  閱讀全文
          posted @ 2009-07-03 19:24 叱咤紅人 閱讀(1504) | 評(píng)論 (0)編輯 收藏

               摘要: 僅以此文歌頌我們永遠(yuǎn)清純和青春的90后同事---柳阿福  閱讀全文
          posted @ 2009-05-27 17:49 叱咤紅人 閱讀(510) | 評(píng)論 (7)編輯 收藏

               摘要: 2009年javaOne大會(huì)內(nèi)容  閱讀全文
          posted @ 2009-05-20 09:32 叱咤紅人 閱讀(796) | 評(píng)論 (0)編輯 收藏

               摘要: 前兩天application team使用framework的rmi服務(wù)出了一些問題,總結(jié)一下,順便俺也占個(gè)坑,以后RMI使用中需要注意的地方都可以加到此帖中。  閱讀全文
          posted @ 2009-05-05 15:29 叱咤紅人 閱讀(1556) | 評(píng)論 (2)編輯 收藏

          posted @ 2009-05-04 10:43 叱咤紅人 閱讀(276) | 評(píng)論 (0)編輯 收藏

          posted @ 2009-04-22 07:25 叱咤紅人 閱讀(317) | 評(píng)論 (1)編輯 收藏

               摘要: 我們經(jīng)常需要進(jìn)行遠(yuǎn)程業(yè)務(wù)方法的調(diào)用,并對(duì)返回的結(jié)果進(jìn)行處理。我們規(guī)范化了調(diào)用流程,可擴(kuò)展支持多種協(xié)議:HTTP, JMS, RMI, FTP等,實(shí)現(xiàn)了序列化和反序列化,負(fù)載均衡,異步調(diào)用等模塊。默認(rèn)給出HTTP實(shí)現(xiàn)。  閱讀全文
          posted @ 2009-04-04 20:57 叱咤紅人 閱讀(3366) | 評(píng)論 (3)編輯 收藏

               摘要: java實(shí)現(xiàn)的同步循環(huán)鏈表,支持順序迭代訪問,添加,刪除操作。  閱讀全文
          posted @ 2009-04-01 12:42 叱咤紅人 閱讀(538) | 評(píng)論 (0)編輯 收藏

               摘要: XStream和JAXB這兩東東本質(zhì)上是有差別的,JAXB稱為OX binding工具,XStream應(yīng)該算序列化工具,但OX binding工具也會(huì)marshall和unmarshall,則包含了序列化部分。序列化工具不一定需要提供binding的功能。既然都玩序列化,那就簡(jiǎn)單地比較一下它們兩在序列化方面的強(qiáng)弱吧。  閱讀全文
          posted @ 2009-03-04 17:15 叱咤紅人 閱讀(11001) | 評(píng)論 (9)編輯 收藏

               摘要: 由于業(yè)務(wù)需要將quartz的jobstore從JobStoreTX更新為JobStoreCMT,接著啟動(dòng)servlet時(shí)發(fā)現(xiàn)被鎖住了。由于使用JobStoreCMT我們使用了managed datasource,按照quartz文檔的要求也配置了non managed datasource,但是發(fā)現(xiàn)程序啟動(dòng)的時(shí)候就被鎖住了,鎖在Quartz_Locks的表鎖上了。最后通過查閱源代碼,跟蹤代碼解決了這個(gè)問題。問題解決過程記錄了下來。  閱讀全文
          posted @ 2009-02-06 17:13 叱咤紅人 閱讀(4251) | 評(píng)論 (2)編輯 收藏

               摘要: 對(duì)json(json lib, jettison)和xstream轉(zhuǎn)換后的數(shù)據(jù)長(zhǎng)度,格式和花費(fèi)的時(shí)間做了比較,描述了使用json和xstream的各自的優(yōu)勢(shì),以及如何如何選擇。  閱讀全文
          posted @ 2009-01-20 17:43 叱咤紅人 閱讀(3933) | 評(píng)論 (5)編輯 收藏

               摘要: 要看的書真不少,主攻方向:模式,SOA,分布式算法,多核計(jì)算,安全,動(dòng)態(tài)語言和領(lǐng)域語言。  閱讀全文
          posted @ 2008-12-30 10:11 叱咤紅人 閱讀(517) | 評(píng)論 (6)編輯 收藏

          posted @ 2008-12-16 07:42 叱咤紅人 閱讀(349) | 評(píng)論 (0)編輯 收藏

               摘要: 在Oracle Application Server環(huán)境下OC4J Instance下的每個(gè)process的jvm的rmi端口是動(dòng)態(tài)分配的,如果能解決這個(gè)動(dòng)態(tài)的問題,就可以使用ORMI作為jndi的provider url。但是需要注意的是如果是在server啟動(dòng)時(shí)初始化toplink session,需要等待JmsServer線程執(zhí)行完畢。  閱讀全文
          posted @ 2008-12-09 18:00 叱咤紅人 閱讀(1286) | 評(píng)論 (0)編輯 收藏

               摘要: 在分布式應(yīng)用中,單個(gè)業(yè)務(wù)應(yīng)用的toplink運(yùn)行在多個(gè)jvm上,同時(shí)開啟了會(huì)話緩存,而這些在多個(gè)jvm上會(huì)話緩存中的domain對(duì)象就需要進(jìn)行同步,這樣可以及時(shí)拿到最新的domain對(duì)象而不需要每次都查詢database,這大大減少了樂觀鎖沖突。在Oracle Application Server上Ormi端口是動(dòng)態(tài)分配的,而opmn request端口氏固定的,所以我們用opmn作為jndi lookup的url。經(jīng)過測(cè)試OC4J in memory jms作為同步消息的傳輸和發(fā)現(xiàn)方式效率是最高的,所以采用OC4J in memory jms作為消息同步的傳輸方式。具體實(shí)現(xiàn)方法參見本文。  閱讀全文
          posted @ 2008-12-04 07:00 叱咤紅人 閱讀(1233) | 評(píng)論 (0)編輯 收藏

               摘要: 晚上要下班的時(shí)候,application team那里使用Tibco EMS做消息集成服務(wù)時(shí)候出了bug,錯(cuò)誤是:java.sql.SQLException: 當(dāng)全局事務(wù)處理處于活動(dòng)狀態(tài)時(shí), 無法調(diào)用方法 'commit',應(yīng)該是在全局事務(wù)中使用了本地事務(wù)并提交了。幫忙看了一下,它的oc4j, toplink, spring的使用上都存在著一些問題,并把要注意的地方總結(jié)了一下。包括oc4j,toplink,spring三塊。  閱讀全文
          posted @ 2008-11-14 21:48 叱咤紅人 閱讀(2215) | 評(píng)論 (11)編輯 收藏

               摘要: 通過Context lookup出來的是DataSource卻能完成XADataSource的功能,雖然用了動(dòng)態(tài)代理,但是為什么不用繼承呢?  閱讀全文
          posted @ 2008-10-31 21:33 叱咤紅人 閱讀(650) | 評(píng)論 (0)編輯 收藏

               摘要: 原有的應(yīng)用沒有開放RMI服務(wù),由于將schedule模塊移到了standalone的JVM上,需要在遠(yuǎn)程通過RPC Call回來,于是在已有的系統(tǒng)中增加了RMI服務(wù),關(guān)鍵是如何方便而有效地加入這個(gè)RMI服務(wù),和原有的系統(tǒng)解耦,還要方便以后的升級(jí)。這篇隨便記錄了在已有系統(tǒng)中加入RMI服務(wù)模塊的一些心得。  閱讀全文
          posted @ 2008-10-26 18:46 叱咤紅人 閱讀(1523) | 評(píng)論 (1)編輯 收藏

               摘要: 最近在完成一個(gè)小小的framework項(xiàng)目,由于項(xiàng)目中不使用spring,guice,自己實(shí)現(xiàn)了一個(gè)簡(jiǎn)易的依賴注入框架。主要是項(xiàng)目是基于接口設(shè)計(jì)的,所以一些類的實(shí)現(xiàn)需要在配置文件里設(shè)定,實(shí)現(xiàn)類的實(shí)例屬性也要是可以擴(kuò)展的,并且提供屬性值的邏輯校驗(yàn),所以就有了這么一個(gè)東東。  閱讀全文
          posted @ 2008-09-25 19:16 叱咤紅人 閱讀(2615) | 評(píng)論 (4)編輯 收藏

               摘要: 在java端調(diào)用存儲(chǔ)過程的時(shí)候需要存儲(chǔ)過程串行的執(zhí)行,如果使用synchronized lock在應(yīng)用服務(wù)器突然down掉的情況下會(huì)出現(xiàn)問題,因?yàn)閟ession并沒有立即斷掉,后臺(tái)的存儲(chǔ)過程還在繼續(xù)執(zhí)行,這樣如果應(yīng)用服務(wù)器立即重啟,再調(diào)用該存儲(chǔ)過程或者其他需要一起串行化處理的存儲(chǔ)過程就會(huì)違反同步執(zhí)行的原則,所以我們必須把鎖放在oracle db端,利用oracle鎖機(jī)制來完成存儲(chǔ)過程的同步,文章總結(jié)了一下在java端如何使用oracle這個(gè)用戶鎖機(jī)制。  閱讀全文
          posted @ 2008-08-25 14:12 叱咤紅人 閱讀(1805) | 評(píng)論 (0)編輯 收藏

               摘要: 最近要寫message在傳送過程中狀態(tài)改變的流程,并根據(jù)不同的狀態(tài)作不同的處理,同時(shí)記錄當(dāng)前的狀態(tài)。于是,看了一下狀態(tài)模式,發(fā)現(xiàn)還是不太好用,比如狀態(tài)對(duì)象創(chuàng)建的太多了,稍加修改了一下,大概是就是文章中的這個(gè)模樣了:把它分為了“狀態(tài)持有者”, “狀態(tài)對(duì)象“, ”狀態(tài)管理者”, “狀態(tài)機(jī)”等。  閱讀全文
          posted @ 2008-08-22 20:55 叱咤紅人 閱讀(1232) | 評(píng)論 (0)編輯 收藏

               摘要: 主要是要構(gòu)建一個(gè)符合自己需求的的連接池(對(duì)象池)。這個(gè)連接池中所存放的對(duì)象的行為是自定義的并滿足項(xiàng)目實(shí)際應(yīng)用需求的。但是這些對(duì)象的頻繁創(chuàng)建需要很大的代價(jià),比如一些Socket連接。connection-pool所有部分都是基于接口設(shè)計(jì),便于實(shí)現(xiàn)的動(dòng)態(tài)加入和變更。也用到了很多開源的framework如commons-pool,commons-beanutils,xmlbeans,commons-net。  閱讀全文
          posted @ 2008-08-10 16:52 叱咤紅人 閱讀(2725) | 評(píng)論 (1)編輯 收藏

               摘要: 《Head First Design Pattern》一書在講單例模式時(shí)舉了一個(gè)double check的例子,覺得它的代碼寫的有問題,修改了一下它的代碼,不知道正確與否,大家討論。討論的結(jié)果兩種寫法在舊的JMM上都是錯(cuò)的,在新的JMM上都是正確的,文中添加了一些個(gè)人的理解。  閱讀全文
          posted @ 2008-07-23 19:51 叱咤紅人 閱讀(2713) | 評(píng)論 (22)編輯 收藏

               摘要: 總結(jié)了一下java中使用到Connection Pool的一些情況,并想了一下如何實(shí)現(xiàn)特定種類的Connection Pool。  閱讀全文
          posted @ 2008-07-14 16:30 叱咤紅人 閱讀(2788) | 評(píng)論 (0)編輯 收藏

               摘要: 總結(jié)總結(jié),展望展望  閱讀全文
          posted @ 2008-07-12 08:56 叱咤紅人 閱讀(356) | 評(píng)論 (1)編輯 收藏

               摘要: 因?yàn)閘og對(duì)象常常不需要序列化,我們?nèi)绾卧诳尚蛄谢愔卸xlog對(duì)象?  閱讀全文
          posted @ 2008-07-04 11:38 叱咤紅人 閱讀(1249) | 評(píng)論 (2)編輯 收藏

               摘要: 介紹了在spring的基礎(chǔ)上實(shí)現(xiàn)一個(gè)簡(jiǎn)易的Exception處理框架。主要是采取受管的方式:xml配置文件和annotation。Exception在框架統(tǒng)一的地方進(jìn)行處理,使得應(yīng)用程序開發(fā)人員不必為處理exception而困擾,也不必為寫大量的try,catch塊而困擾。  閱讀全文
          posted @ 2008-06-30 18:27 叱咤紅人 閱讀(7748) | 評(píng)論 (8)編輯 收藏

               摘要: 上次用Coherence實(shí)現(xiàn)緩存數(shù)據(jù)同步的transport manager之后,對(duì)它進(jìn)行了壓力測(cè)試并和EMS JMS和 OracleAS JMS(內(nèi)存)進(jìn)行了性能對(duì)比。文中描述了測(cè)試的過程,并共享了代碼和測(cè)試結(jié)果。  閱讀全文
          posted @ 2008-06-13 14:46 叱咤紅人 閱讀(2398) | 評(píng)論 (1)編輯 收藏

               摘要: 用ASM直接分析字節(jié)碼來加載Class級(jí)別的Annotation。文中給出了一個(gè)例子,例子的主程序會(huì)加載用某個(gè)Annotation標(biāo)注的class,而那些沒有被該Annotation標(biāo)注的class就不會(huì)被加載。  閱讀全文
          posted @ 2008-06-11 17:38 叱咤紅人 閱讀(2942) | 評(píng)論 (0)編輯 收藏

               摘要: Toplink提供了很強(qiáng)大的Cache功能,利用cache可以大大減少直接和DB通信的次數(shù),特別是讀事務(wù)比較多的情況下。在分布式應(yīng)用中,多個(gè)toplink session cache之間需要即時(shí)的同步數(shù)據(jù),保證各個(gè)cache中的數(shù)據(jù)都是最新的數(shù)據(jù),避免頻繁地出現(xiàn)stale數(shù)據(jù)或樂觀鎖異常。Toplink默認(rèn)支持的兩種同步機(jī)制:JMS和RMI,有時(shí)為了考慮一些特殊的需求,必須性能,我們可能需要自定義一個(gè)Toplink的Transport Manager,本文給出了一個(gè)用Oracle Coherence實(shí)現(xiàn)Toplink Tranport Manager的具體例子,注意只是用了Coherence的通信并沒有把Coherence整合成Toplink的Session Cache。  閱讀全文
          posted @ 2008-05-24 17:37 叱咤紅人 閱讀(2295) | 評(píng)論 (0)編輯 收藏

               摘要: 本文主要介紹了如何用XPath編寫自定義的PMD Rule。靜態(tài)分析代碼是否符合相應(yīng)的規(guī)則,及早檢查出代碼中的不足之出。  閱讀全文
          posted @ 2008-05-05 18:46 叱咤紅人| 編輯 收藏

          主站蜘蛛池模板: 屏山县| 和顺县| 大城县| 栖霞市| 巴楚县| 泌阳县| 海南省| 定西市| 缙云县| 江永县| 江陵县| 烟台市| 驻马店市| 洞头县| 黑河市| 特克斯县| 肇庆市| 金山区| 格尔木市| 盐边县| 霍州市| 德格县| 屯留县| 井冈山市| 湾仔区| 娄烦县| 荥阳市| 新化县| 台北市| 南开区| 木兰县| 竹溪县| 罗江县| 特克斯县| 玉田县| 襄垣县| 噶尔县| 普格县| 德庆县| 分宜县| 交城县|