真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Spring配置多數(shù)據(jù)源切換

多數(shù)據(jù)源切換

創(chuàng)新互聯(lián)服務項目包括榆樹網(wǎng)站建設、榆樹網(wǎng)站制作、榆樹網(wǎng)頁制作以及榆樹網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,榆樹網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到榆樹省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

db.properties

#MySQL
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?autoReconnect=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=admin
#定義初始連接數(shù)
initialSize=0
#定義最大連接數(shù)
maxActive=1000
#定義最大空閑
maxIdle=20
#定義最小空閑
minIdle=1
#定義最長等待時間
maxWait=60000
#MySQL
# driverClassName 根據(jù)url自動識別 這一項可配可不配,如果不配置druid會根據(jù)url自動識別dbType,然后選擇相應的driverClassName
jdbc.driver1=com.mysql.jdbc.Driver
jdbc.url1=jdbc:mysql://localhost:3306/test1?allowMultiQueries=true&autoReconnect=true&characterEncoding=utf-8
jdbc.username1=root
jdbc.password1=admin
# 初始化時建立物理連接的個數(shù)。初始化發(fā)生在顯示調(diào)用init方法,或者第一次getConnection時
initialSize1=0
# 最大連接池數(shù)量
maxActive1=1000
#定義最小空閑
minIdle1=1
# 獲取連接時最大等待時間,單位毫秒。配置了maxWait之后, 
# 缺省啟用公平鎖,并發(fā)效率會有所下降, 
# 如果需要可以通過配置useUnfairLock屬性為true使用非公平鎖。
maxWait1=60000
# druid 監(jiān)控
# 屬性類型是字符串,通過別名的方式配置擴展插件, 
# 常用的插件有: 
# 監(jiān)控統(tǒng)計用的filter:stat 
# 日志用的filter:log4j 
# 防御sql注入的filter:wall
filters1=stat,log4j
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒
timeBetweenEvictionRunsMillis1=60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
minEvictableIdleTimeMillis1=300000
# 建議配置為true,不影響性能,并且保證安全性。 
# 申請連接的時候檢測,如果空閑時間大于 
# timeBetweenEvictionRunsMillis, 
# 執(zhí)行validationQuery檢測連接是否有效。
testWhileIdle1=true
# 申請連接時執(zhí)行validationQuery檢測連接是否有效,做了這個配置會降低性能。
testOnBorrow1=false
# 歸還連接時執(zhí)行validationQuery檢測連接是否有效,做了這個配置會降低性能
testOnReturn1=false
# 是否緩存preparedStatement,也就是PSCache。
# PSCache對支持游標的數(shù)據(jù)庫性能提升巨大,比如說oracle。 
# 在mysql5.5以下的版本中沒有PSCache功能,建議關閉掉。
# 作者在5.5版本中使用PSCache,通過監(jiān)控界面發(fā)現(xiàn)PSCache有緩存命中率記錄, 
# 該應該是支持PSCache。
poolPreparedStatements1=false
# 要啟用PSCache,必須配置大于0,當大于0時, 
# poolPreparedStatements自動觸發(fā)修改為true。 
# 在Druid中,不會存在Oracle下PSCache占用內(nèi)存過多的問題, 
# 可以把這個數(shù)值配置大一些,比如說100
maxOpenPreparedStatements1=-1

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

  
   
  
  
    
    
    
    
  
  
  
    
      
        classpath:db.properties
      
    
  
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
  
   
     
   
   
     
   
  
  
    
    
    
      
        
        
      
    
  
  
  
    
    
    
    
    
  
  
  
    
  
  
  
  
    
  
  
  

創(chuàng)建MultipleDataSource.java

package com.ys.dbConfig;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
public class MultipleDataSource extends AbstractRoutingDataSource{
  @Override
  protected Object determineCurrentLookupKey() {
    return MultipleDataSourceHandler.getRouteKey();
  }
}

創(chuàng)建MultipleDataSourceHandler.java

package com.ys.dbConfig; 
/** 
*@ Title MultipleDataSourceHandler.java 
*@ description: 多數(shù)據(jù)源Handler
*@ time 創(chuàng)建時間:2018年8月25日 上午10:52:12 
**/
public class MultipleDataSourceHandler {
  private static ThreadLocal routeKey = new ThreadLocal();
  /**
   * @Title: getRouteKey 
   * @Description: 獲取當前線程的數(shù)據(jù)源路由的key
   * @param @return
   * @return String
   * @date createTime:2018年8月27日上午10:34:52
   */
  public static String getRouteKey(){
    return routeKey.get();
  }
  /**
   * @Title: setRouteKey 
   * @Description: 綁定當前線程數(shù)據(jù)源路由的key 使用完成后必須調(diào)用removeRouteKey()方法刪除
   * @param @param key
   * @return void
   * @date createTime:2018年8月27日上午10:35:03
   */
  public static void setRouteKey(String key){
    routeKey.set(key);
  }
  /**
   * @Title: removeRouteKey 
   * @Description: 刪除與當前線程綁定的數(shù)據(jù)源路由的key
   * @return void
   * @date createTime:2018年8月27日上午10:35:31
   */
  public static void removeRouteKey(){
    routeKey.remove();
  }
}

切換數(shù)據(jù)源

MultipleDataSourceHandler.setRouteKey(“dataSource1”);

總結

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對創(chuàng)新互聯(lián)的支持。如果你想了解更多相關內(nèi)容請查看下面相關鏈接


文章題目:Spring配置多數(shù)據(jù)源切換
分享鏈接:http://weahome.cn/article/ipjecj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部