于吉吉的技術(shù)博客

          建造高性能門戶網(wǎng)

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            65 隨筆 :: 6 文章 :: 149 評論 :: 0 Trackbacks

          spring

               摘要: 前段時間我們的系統(tǒng)接到新增多一個頻道的需求,原本我們的系統(tǒng)只是針對于廣州的業(yè)務(wù),現(xiàn)在需要新增另一個城市上海,經(jīng)過和產(chǎn)品人員溝通和分析,城市之間的業(yè)務(wù)邏輯除了一些小差異基本還是一樣的,數(shù)據(jù)庫的結(jié)構(gòu)經(jīng)過整合兩個城市也可以達到一樣的結(jié)構(gòu),但上海需要獨立出另一個數(shù)據(jù)庫.

          我們以前發(fā)布器的做法是用作為方法的一個參數(shù)由調(diào)用者一直傳到訪問對象(索引或數(shù)據(jù)庫),雖然這種做法一樣可以很快的實現(xiàn),但是將數(shù)據(jù)庫,索引的選擇和業(yè)務(wù)邏輯混搭在一起的設(shè)計在感覺上是比較混亂,并且不利于將來多個城市(頻道)的建立,所以選了通過ThreadLocal來實現(xiàn)多數(shù)據(jù)源的動態(tài)切換.

          ThreadLocal 是一個依賴于執(zhí)行線程的存儲器,對它就只有簡單的一個set和get方法,不同線程之間是相互獨立的。簡單地講,就是:這個線程set了一個對象入去,只有這個線程自己可以把它get出來,其它線程是get不出來的。

          好了,下面是具體顯示的方式

          首先定義一個filter,通過filter取得域名,因為我們的域名中帶有城市的標志,如廣州是http://gz.***.  閱讀全文
          posted @ 2010-08-23 16:22 陳于喆 閱讀(3473) | 評論 (1)  編輯

               摘要: 由于系統(tǒng)需求需要對各個接口進行key-value緩存(以參數(shù)為key,返回的對象為value),當然對于這種情況首先考慮到的是使用aop,前段時間看過 aspectj的一些介紹,借此機會正好加以應(yīng)用和體會一下,aspectj是AOP最早成熟的java實現(xiàn),它稍微擴展了一下java語言,增加了一些 keyword等,具體的aspectj的基本語法見[ur=http://today.java.net/pub/a/today/2003/12 /26/ch3AspectJSyntaxBasics.html]這里[/url],進行緩存的框架使用較成熟的ehcache.
          下面開始進行配置
          首先是ehcache的配置文件




            閱讀全文
          posted @ 2010-08-23 10:35 陳于喆 閱讀(8539) | 評論 (0)  編輯

          主站蜘蛛池模板: 敦化市| 都匀市| 乃东县| 锡林浩特市| 米脂县| 洱源县| 武义县| 鹤岗市| 田林县| 睢宁县| 青川县| 沽源县| 汕头市| 同仁县| 余江县| 于田县| 衡南县| 临洮县| 安化县| 尼木县| 古浪县| 宁安市| 云梦县| 隆昌县| 泸溪县| 南宁市| 新泰市| 治县。| 吉安县| 安丘市| 梅河口市| 遵化市| 昌吉市| 马尔康县| 清水县| 嘉祥县| 昌江| 阳西县| 长葛市| 临夏市| 浑源县|