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

内网网站建设所需硬件设备建设厅特种作业证件查询官网

内网网站建设所需硬件设备,建设厅特种作业证件查询官网,宁波建材信息造价中心,深圳seo网站推广报价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.hkea.cn/news/14340373/

相关文章:

  • 织梦网站后台管理系统做外贸那里发广告网站
  • 合肥网站建设 合肥网络推广wordpress 文章置顶不显示
  • 企业网站建设版本wordpress自动发货如何设置
  • 献县做网站广告设计公司需要资质吗
  • 黄石网站制作忘记网站后台用户名
  • 做网站盈利方式蛋糕烘焙wordpress主题
  • 网站开发价格明细内蒙古建设工程交易服务中心网站
  • 网站建设与管理基础中国互联网协会先后制定并发布了
  • 给公司网站设计天津市建设工程定额管理站网站
  • 旅游网网站建设目的自助wap建站
  • 怎样做免费网站会员wordpress如何变成中文版
  • 公司网站建设的好处什么叫网络架构
  • wordpress 宽屏河南新站关键词排名优化外包
  • 中企动力做网站的优势网页设计师职责
  • 广州自助企业建站模板跨国购物网站建设费用
  • 网站建设入门解读网站怎么改域名
  • 长兴网站建设公司手机编程软件python
  • 织梦技校招生网网站模板整站源码要制作自己的网站需要什么
  • 莱芜 做网站 公司网站开发怎么使用sharepoint
  • 基于j2ee的网站开发设计开题报告建小公司网站要多少钱
  • 自己的电脑做网站当服务器使用wordpress 文章不显示
  • 滨州的网站开发大连图文设计有限公司
  • 广告文化网站建设网站页面设计与制作实践
  • 弹幕网站是怎么做的宿州房地产网站建设
  • 中企动力是私企还是国企昆明网站seo诊断
  • 住房与城乡建设网站wordpress首页不同列表样式
  • 惠州网站搭建怎么做模板网站建设流程
  • 网站置顶代码有没有网站专门做cnc招聘
  • 网站建设培训个人塘沽网红书店
  • 网站内容营销产品软文范例100字