摘要:單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)在某些可以配置多站點的開發(fā)框架中,如果每個站點多帶帶配置了多帶帶的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點切換不同的數(shù)據(jù)庫比較方便。在這里展示了框架下的解決方案。在切換數(shù)據(jù)庫之前,需要先再進行切換
單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)
在某些可以配置多站點的開發(fā)框架中,如果每個站點多帶帶配置了多帶帶的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點切換不同的數(shù)據(jù)庫比較方便。
在這里展示了spring框架下的解決方案。利用了spring的org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource
站點路由的datasource SiteRoutingDataSource
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class SiteRoutingDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { return SiteContextHolder.getSiteCode(); } }
用來判定當(dāng)前站點的工具類SiteContextHolder
import org.springframework.util.Assert; public class SiteContextHolder { private static final ThreadLocalcontextHolder = new ThreadLocal (); public static void setSiteCode(String siteCode) { Assert.notNull(siteCode, "siteCode cannot be null"); contextHolder.set(siteCode); } public static String getSiteCode() { return (String) contextHolder.get(); } public static void clearSiteCode() { contextHolder.remove(); } }
spring的xml配置:
${hgc.datasource.driverClassName} ${hgc.datasource.url} ${hgc.datasource.username} ${hgc.datasource.password} ${ahpu.datasource.driverClassName} ${ahpu.datasource.url} ${ahpu.datasource.username} ${ahpu.datasource.password}
在使用過程中 通過 SiteContextHolder.setSiteCode(CODE);來進行數(shù)據(jù)源選擇。在切換數(shù)據(jù)庫之前,需要先SiteContextHolder.clearSiteCode();再進行切換
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/17529.html
摘要:單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā)在某些可以配置多站點的開發(fā)框架中,如果每個站點單獨配置了單獨的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點切換不同的數(shù)據(jù)庫比較方便。在這里展示了框架下的解決方案。在切換數(shù)據(jù)庫之前,需要先再進行切換 單數(shù)據(jù)源訪問多數(shù)據(jù)庫的路由開發(fā) 在某些可以配置多站點的開發(fā)框架中,如果每個站點單獨配置了單獨的數(shù)據(jù)庫。那么利用單一數(shù)據(jù)源根據(jù)不同的站點切換不同的數(shù)據(jù)庫比較方便。 在...
摘要:老實說我不是第一次想歪了而且很慢總是不能很快抓住要點當(dāng)別人用后端從做博客做論壇聯(lián)系完成的應(yīng)用的時候我跑去學(xué)單頁面應(yīng)用還很久掙扎在的思路當(dāng)中我想說的是走大多數(shù)人走的路的確是可以減少浪費的時間和錯誤的走少數(shù)人在的路當(dāng)然也刺激的我最近才明白原來前 老實說我不是第一次想歪了, 而且很慢, 總是不能很快抓住要點. 當(dāng)別人用后端 MVC 從做博客做論壇, 聯(lián)系完成 MVC 的應(yīng)用的時候 我跑去學(xué)單...
摘要:原作者原鏈接基于多入口生成模板用于服務(wù)端渲染的方案及實戰(zhàn)法律聲明警告本作品遵循署名非商業(yè)性使用禁止演繹未本地化版本協(xié)議發(fā)布。這是什么背景現(xiàn)代化的前端項目中很多都使用了客戶端渲染的單頁面應(yīng)用。 原作者:@LinuxerPHL原鏈接:基于 Webpack 4 多入口生成模板用于服務(wù)端渲染的方案及實戰(zhàn) 法律聲明 警告:本作品遵循 署名-非商業(yè)性使用-禁止演繹3.0 未本地化版本(CC BY-...
摘要:原作者原博文地址基于多入口生成模板用于服務(wù)端渲染的方案及實戰(zhàn)法律聲明警告本作品遵循署名非商業(yè)性使用禁止演繹未本地化版本協(xié)議發(fā)布。這是什么背景現(xiàn)代化的前端項目中很多都使用了客戶端渲染的單頁面應(yīng)用。 原作者:@LinuxerPHL原博文地址: 基于 Webpack 4 多入口生成模板用于服務(wù)端渲染的方案及實戰(zhàn) 法律聲明 警告:本作品遵循 署名-非商業(yè)性使用-禁止演繹3.0 未本地化版本(...
閱讀 894·2021-10-11 10:59
閱讀 2830·2019-08-30 15:43
閱讀 2160·2019-08-30 11:08
閱讀 1680·2019-08-29 15:20
閱讀 1053·2019-08-29 13:53
閱讀 512·2019-08-26 13:24
閱讀 1663·2019-08-26 13:24
閱讀 2846·2019-08-26 12:08