电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot集成nacos動態(tài)刷新數(shù)據(jù)源的實現(xiàn)示例

瀏覽:78日期:2023-04-04 09:31:30
前言

因為項目需要,需要在項目運行過程中能夠動態(tài)修改數(shù)據(jù)源(即:數(shù)據(jù)源的熱更新)。這里以com.alibaba.druid.pool.DruidDataSource數(shù)據(jù)源為例

第一步:重寫DruidAbstractDataSource類

這里為什么要重寫這個類:因為DruidDataSource數(shù)據(jù)源在初始化后,就不允許再重新設(shè)置數(shù)據(jù)庫的url和userName

public void setUrl(String jdbcUrl) { if (StringUtils.equals(this.jdbcUrl, jdbcUrl)) { return; } // 重寫的時候,需要將這個判斷注釋掉,否則會報錯 // if (inited) { // throw new UnsupportedOperationException(); // } if (jdbcUrl != null) { jdbcUrl = jdbcUrl.trim(); } this.jdbcUrl = jdbcUrl; // if (jdbcUrl.startsWith(ConfigFilter.URL_PREFIX)) { // this.filters.add(new ConfigFilter()); // } } public void setUsername(String username) { if (StringUtils.equals(this.username, username)) { return; }// 重寫的時候,需要將這個判斷注釋掉,否則會報錯 // if (inited) { // throw new UnsupportedOperationException(); // } this.username = username; }

重寫的時候包路徑不能變,只有這樣類加載的時候才會優(yōu)先加載重寫后的類

SpringBoot集成nacos動態(tài)刷新數(shù)據(jù)源的實現(xiàn)示例

第二步:配置動態(tài)獲取nacos配置信息

package com.mp.demo.config;import com.alibaba.druid.pool.DruidDataSource;import lombok.Data;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.context.config.annotation.RefreshScope;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Slf4j@Configuration@RefreshScope@Datapublic class DruidConfiguration{ @Value('${spring.datasource.url}') private String dbUrl; @Value('${spring.datasource.username}') private String username; @Value('${spring.datasource.password}') private String password; @Value('${spring.datasource.driver-class-name}') private String driverClassName; @Bean @RefreshScope public DruidDataSource dataSource() { DruidDataSource datasource = new DruidDataSource(); datasource.setUrl(this.dbUrl); datasource.setUsername(username); datasource.setPassword(password); datasource.setDriverClassName(driverClassName); return datasource; }}

這里要注意增加@RefreshScope注解

第三步:手動刷新數(shù)據(jù)源

@GetMapping('/refresh') public String refresh() throws SQLException { DruidDataSource master = SpringUtils.getBean('dataSource'); master.setUrl(druidConfiguration.getDbUrl()); master.setUsername(druidConfiguration.getUsername()); master.setPassword(druidConfiguration.getPassword()); master.setDriverClassName(druidConfiguration.getDriverClassName()); master.restart(); return userName + '<>' + jdbcUrl+'----------'+druidConfiguration.getDbUrl(); }

源碼地址:https://gitee.com/jackson_hou/RefreshDataSource.git

到此這篇關(guān)于SpringBoot集成nacos動態(tài)刷新數(shù)據(jù)源的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)SpringBoot nacos動態(tài)刷新數(shù)據(jù)源內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 荣事达手推洗地机_洗地机厂家_驾驶式扫地机_工业清洁设备 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 泵阀展|阀门展|水泵展|流体机械展 -2025上海国际泵管阀展览会flowtech china | 我车网|我关心的汽车资讯_汽车图片_汽车生活! | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 免费网站网址收录网_海企优网站推荐平台| 云南成考网_云南成人高考报名网 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 天空彩票天下彩,天空彩天空彩票免费资料,天空彩票与你同行开奖,天下彩正版资料大全 | 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 咖啡加盟,咖啡店加盟连锁品牌-卡小逗 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 北京京云律师事务所 | 粉末冶金-粉末冶金齿轮-粉末冶金零件厂家-东莞市正朗精密金属零件有限公司 | 余姚生活网_余姚论坛_余姚市综合门户网站 | 提升海外网站流量,增加国外网站访客UV,定制海外IP-访客王 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 棉服定制/厂家/公司_棉袄订做/价格/费用-北京圣达信棉服 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 长沙广告公司_制作,长沙喷绘_发光字_招牌制作_长沙泓润广告官网 长城人品牌官网 | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 深圳办公室装修-写字楼装修设计-深圳标榜装饰公司 | 双吸泵,双吸泵厂家,OS双吸泵-山东博二泵业有限公司 | 工业铝型材生产厂家_铝合金型材配件批发精加工定制厂商 - 上海岐易铝业 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 手持式3d激光扫描仪-便携式三维立体扫描仪-北京福禄克斯 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 |