pzxsheng

          有種相見(jiàn)不敢見(jiàn)的傷痛,有種愛(ài)還埋藏在心中

          ActiveMQ使用筆記(二)ActiveMQ消息持久化二

          原文地址:http://www.huaishao8.com/config/activemq/132.html

          KahaDB

          KahaDB是基于文件的本地?cái)?shù)據(jù)庫(kù)儲(chǔ)存形式,雖然沒(méi)有AMQ的速度快,但是它具有強(qiáng)擴(kuò)展性,恢復(fù)的時(shí)間比AMQ短,從5.4版本之后KahaDB做為默認(rèn)的持久化方式。默認(rèn)配置如下:

              <persistenceAdapter>
                  
          <kahaDB directory="activemq-data" journalMaxFileLength="32mb"/>
              
          </persistenceAdapter>


          KahaDB的屬性:

          property namedefault valueComments
          directoryactivemq-data消息文件和日志的存儲(chǔ)目錄
          indexWriteBatchSize1000一批索引的大小,當(dāng)要更新的索引量到達(dá)這個(gè)值時(shí),更新到消息文件中
          indexCacheSize10000內(nèi)存中,索引的頁(yè)大小
          enableIndexWriteAsyncfalse索引是否異步寫到消息文件中
          journalMaxFileLength32mb一個(gè)消息文件的大小
          enableJournalDiskSyncstrue是否講非事務(wù)的消息同步寫入到磁盤
          cleanupInterval30000清除操作周期,單位ms
          checkpointInterval5000索引寫入到消息文件的周期,單位ms
          ignoreMissingJournalfilesfalse忽略丟失的消息文件,false,當(dāng)丟失了消息文件,啟動(dòng)異常
          checkForCorruptJournalFilesfalse檢查消息文件是否損壞,true,檢查發(fā)現(xiàn)損壞會(huì)嘗試修復(fù)
          checksumJournalFilesfalse產(chǎn)生一個(gè)checksum,以便能夠檢測(cè)journal文件是否損壞。
          5.4版本之后有效的屬性:
          archiveDataLogsfalse當(dāng)為true時(shí),歸檔的消息文件被移到directoryArchive,而不是直接刪除
          directoryArchivenull存儲(chǔ)被歸檔的消息文件目錄
          databaseLockedWaitDelay10000在使用負(fù)載時(shí),等待獲得文件鎖的延遲時(shí)間,單位ms
          maxAsyncJobs10000同個(gè)生產(chǎn)者產(chǎn)生等待寫入的異步消息最大量
          concurrentStoreAndDispatchTopicsfalse當(dāng)寫入消息的時(shí)候,是否轉(zhuǎn)發(fā)主題消息
          concurrentStoreAndDispatchQueuestrue當(dāng)寫入消息的時(shí)候,是否轉(zhuǎn)發(fā)隊(duì)列消息
          5.6版本之后有效的屬性:
          archiveCorruptedIndex false是否歸檔錯(cuò)誤的索引

          從5.6版本之后,有可能發(fā)布通過(guò)多個(gè)kahadb持久適配器來(lái)實(shí)現(xiàn)分布式目標(biāo)隊(duì)列存儲(chǔ)。什么時(shí)候用呢?如果有一個(gè)快速的生產(chǎn)者和消費(fèi)者,當(dāng)某一個(gè)時(shí)刻生產(chǎn)者發(fā)生了不規(guī)范的消費(fèi),那么有可能產(chǎn)生一條消息被存儲(chǔ)在兩個(gè)消息文件中,同時(shí),有些目標(biāo)隊(duì)列是危險(xiǎn)的并且要求訪問(wèn)磁盤。在這種情況下,你應(yīng)該用通配符來(lái)使用mKahaDB。如果目標(biāo)隊(duì)列是分布的,事務(wù)是可以跨越多個(gè)消息文件的。

          每個(gè)KahaDB的實(shí)例都可以配置單獨(dú)的適配器,如果沒(méi)有目標(biāo)隊(duì)列提交給filteredKahaDB,那么意味著對(duì)所有的隊(duì)列有效。如果一個(gè)隊(duì)列沒(méi)有對(duì)應(yīng)的適配器,那么將會(huì)拋出一個(gè)異常。配置如下:

          <persistenceAdapter>
            
          <mKahaDB directory="${activemq.base}/data/kahadb">
              
          <filteredPersistenceAdapters>
                
          <!-- match all queues -->
                
          <filteredKahaDB queue=">">
                  
          <persistenceAdapter>
                    
          <kahaDB journalMaxFileLength="32mb"/>
                  
          </persistenceAdapter>
                
          </filteredKahaDB>
                
                
          <!-- match all destinations -->
                
          <filteredKahaDB>
                  
          <persistenceAdapter>
                    
          <kahaDB enableJournalDiskSyncs="false"/>
                  
          </persistenceAdapter>
                
          </filteredKahaDB>
              
          </filteredPersistenceAdapters>
            
          </mKahaDB>
           
          </persistenceAdapter>

          如果filteredKahaDB的perDestination屬性設(shè)置為true,那么匹配的目標(biāo)隊(duì)列將會(huì)得到自己對(duì)應(yīng)的KahaDB實(shí)例。配置如下:
          <persistenceAdapter>
            
          <mKahaDB directory="${activemq.base}/data/kahadb">
              
          <filteredPersistenceAdapters>
                
          <!-- kahaDB per destinations -->
                
          <filteredKahaDB perDestination="true" >
                  
          <persistenceAdapter>
                    
          <kahaDB journalMaxFileLength="32mb" />
                  
          </persistenceAdapter>
                
          </filteredKahaDB>
              
          </filteredPersistenceAdapters>
            
          </mKahaDB>
           
          </persistenceAdapter>

           

          posted on 2013-03-15 09:14 科菱財(cái)神 閱讀(1367) 評(píng)論(0)  編輯  收藏 所屬分類: ActiveMQ

          導(dǎo)航

          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 怀远县| 怀化市| 奎屯市| 江川县| 乌拉特中旗| 刚察县| 顺平县| 故城县| 天门市| 河南省| 宁陵县| 安图县| 城市| 安仁县| 同德县| 大关县| 静乐县| 龙州县| 岳阳县| 中宁县| 桐梓县| 阿克陶县| 贡山| 桓仁| 紫云| 札达县| 即墨市| 建平县| 河东区| 峨眉山市| 沂源县| 宕昌县| 卓尼县| 金门县| 中阳县| 仪征市| 平塘县| 博湖县| 德惠市| 长宁区| 宿州市|