当前位置: 首页 > news >正文

北京微信公众号网站建设群晖 wordpress 域名

北京微信公众号网站建设,群晖 wordpress 域名,哈尔滨精致网站建设,wordpress不加载样式Springboot项目中使用druid因数据库不可用导致的项目挂起的处理方案 在Spring Boot项目中使用Druid实现多数据源和动态数据源管理是一个常见的场景。通过合理的配置和错误处理机制#xff0c;您可以有效地管理数据源#xff0c;避免因数据库不可用而导致整个项目挂起。 1.…Springboot项目中使用druid因数据库不可用导致的项目挂起的处理方案 在Spring Boot项目中使用Druid实现多数据源和动态数据源管理是一个常见的场景。通过合理的配置和错误处理机制您可以有效地管理数据源避免因数据库不可用而导致整个项目挂起。 1. 配置多数据源 在application.yml或application.properties中配置多个数据源信息 spring:datasource:dynamic:primary: masterdatasource:master:url: jdbc:mysql://localhost:3306/master_dbusername: rootpassword: passworddriver-class-name: com.mysql.cj.jdbc.Driverslave:url: jdbc:mysql://localhost:3306/slave_dbusername: rootpassword: passworddriver-class-name: com.mysql.cj.jdbc.Driver2. 动态数据源配置 创建动态数据源配置类通过Primary注解标记主要数据源并使用Druid数据源实现 Configuration public class DynamicDataSourceConfig {BeanPrimarypublic DataSource dataSource(DynamicDataSourceProperties dynamicDataSourceProperties) {DruidDataSource dataSource new DruidDataSource();DynamicRoutingDataSource dynamicRoutingDataSource new DynamicRoutingDataSource();MapObject, Object dataSourceMap new HashMap();dataSourceMap.put(master, dataSource);dataSourceMap.put(slave, createDataSource(dynamicDataSourceProperties.getDatasource().get(slave)));dynamicRoutingDataSource.setDefaultTargetDataSource(dataSource);dynamicRoutingDataSource.setTargetDataSources(dataSourceMap);return dynamicRoutingDataSource;}private DataSource createDataSource(MapString, String dataSourceProperties) {DruidDataSource dataSource new DruidDataSource();dataSource.setUrl(dataSourceProperties.get(url));dataSource.setUsername(dataSourceProperties.get(username));dataSource.setPassword(dataSourceProperties.get(password));dataSource.setDriverClassName(dataSourceProperties.get(driver-class-name));return dataSource;} }3. 处理数据库不可用的场景 当数据库不可用时Druid默认的重试机制可能导致应用程序在连接失败后挂起。为避免这种情况可以配置Druid的数据源使其在获取连接失败后立即返回错误而不是无限制地重试。 spring:datasource:dynamic:datasource:master:druid:break-after-acquire-failure: trueconnection-error-retry-attempts: 0slave:druid:break-after-acquire-failure: trueconnection-error-retry-attempts: 0配置说明 break-after-acquire-failure: 设置为true表示在获取连接失败后立即中断获取过程。connection-error-retry-attempts: 设置为0表示不进行重试操作。 4. 实现动态数据源切换 通过使用DS注解您可以在运行时动态切换数据源。例如 Service public class MyService {DS(slave)public void useSlaveDataSource() {// 使用从库的业务逻辑}DS(master)public void useMasterDataSource() {// 使用主库的业务逻辑} }5. 总结 通过以上步骤您可以在Spring Boot项目中成功实现多数据源和动态数据源的管理并且有效处理因数据库不可用而导致的项目挂起问题。配置Druid的break-after-acquire-failure和connection-error-retry-attempts可以确保在数据库连接失败时应用程序不会进入无休止的重试状态从而提高项目的健壮性和可维护性。
http://www.dnsts.com.cn/news/118604.html

相关文章:

  • 网站后台怎么做超链接推介网app
  • 外贸一站式推广服务公众号可以做分类信息网站吗
  • 专做正品的护肤品网站网络安全设计方案
  • 用织梦做的公司网站 经常被攻击wordpress案例制作
  • 做网站代码用什么软件电子商务网站中的信息技术阿里巴巴
  • 电商网站建设培训学校东莞市永铭装饰有限公司
  • 网站设计如何收费标准网站有收录没排名
  • 做it的兼职网站有哪些学设计的培训机构
  • 外贸网站运营是做什么的WordPress缩略图边框阴影
  • 网站收益直播软件开发公司
  • 江苏营销型网站公司网络平台管理制度
  • 如何推广自己网站的关键词辽宁省建设工程信息网网址
  • 怎么知道网站是否被百度收录WordPress auto post
  • wordpress图片自动分页插件品牌关键词优化
  • 做网站一般图片的比例如何做中介网站
  • 做系统和做网站哪个简单一些安监局网站做应急预案备案
  • 集团网站建设新闻东莞建网站找哪里
  • 国家建设执业资格注册中心网站一键lnmp搭建wordpress
  • 如果做淘宝网站网络推广外包sem营销外包
  • 如何做淘宝商城网站手机主题制作软件
  • 网站上传源码后怎么弄在网上怎么注册公司
  • 抚州市建设局网站售后网站开发需求文档
  • 门户网站建设公司报价网站开发补充合同
  • 怎么在58上做公司网站好用的手机网站主页
  • 重庆的汽车网站建设wordpress里面怎么加链接
  • 镇江网站营销推广wordpress替换文字
  • 做标书有哪些好网站江西省水利水电建设集团招标网站
  • 无锡城乡建设局网站网站建设费用明细 xls
  • 在哪里申请网站wordpress资源下载插件
  • 免费做qq互赞网站哪家做网站最好