在实际应用中,有的时候会遇到这样一种情况:数据库和应用服务器分别在两台主机上,当数据库连接意外断开,自动重新连接后,应用和数据库能够重新连接成功,但是报表应用就无法使用了,必须重启应用服务器,才能继续使用报表应用。下面介绍一种方法,使得不重启应用服务器就可以重新连接报表应用。DBCP:对属性 validationQuery 设置一个简单的SQL语句就行了,例如:select 1 (my
spring-boot重头再来 3 文章目录spring-boot重头再来 3SpringData简介整合JDBC创建用于测试数据源的项目JDBCTemplate集成Druid简介基本配置参数配置数据源配置Druid数据源监控整合MyBatis SpringData简介对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spri
转载 2024-04-08 08:59:15
1940阅读
springboot整合@Retryable实现重试功能前言在实际工作中,重试机制是一个很常见的场景,比如:发送消息失败,下载网络文件失败等…,因为这些错误可能是网络波动造成的,等待一些延迟就能成功处理。我们通常会使用try/catch、while循环等进行相关处理,但是这样看起来比较臃肿复杂,且不好看。于是就有了spring提供的重试模块—— @Retryable@Retryable 简介一个s
转载 2024-04-17 14:00:00
212阅读
技术小贴士—基于springboot实现websocket服务端及测试客户端 目录1.webSocket简介2.使用场景3.工程简介3.服务端webSocketServer   所需pom依赖   开启webSocket所需要的配置支持   webSocket服务端   需要注意的问题及常见异常4.客户端webSo
一、场景在网络状况不是非常良好,经常会出现暂时性的拥塞或者断开的情况,而且当我们重启数据库时也会发生类似的情况。所以需要配置中间件的连接池来实现连接测试以及自动,通过重新配置连接池,成功解决了这个问题。下面会给出一份数据源配置参数详单和一份推荐的数据源配置项。二、连接池配置参数1. initialSize:连接池启动时创建的初始化连接数量 2. maxActive:接池中可同时连接的最大
简介本篇我们将学习如何在项目中连接数据库。在一个成熟的项目是离不开数据库的,数据库很好的为我们的项目管理数据,让我们的开发变得简单,我们只需关注数据操作,而无需关注更多的数据库是如何操作的。那么Spring Boot开发的项目是如何连接数据库呢?大家还记得在Spring Boot 配置文件设置(三)配置的时候说到数据库的连接。是的没错上面的例子完完全全都可以进行数据的连接。本篇是以连接MySQL为
前言闹腾了一天,什么访问Druid登录界面出现重定向过多,什么登录界面可以看到了就是登不进去的种种问题总算是解决了。 下面我们就来详细介绍如何在原生的JDBC上整合Druid。一.新建一个整合了JDBC数据源的项目[1] 引入starter [2] 配置application.yml (关于数据源的相关配置可参考DataSourceProperties.class)spring: dataso
转载 2024-02-27 16:16:28
1057阅读
一、使用RMAN连接到数据库 1. 使用RMAN时需要考虑的问题 - 资源:共享内存、更多的进程 - 权限:授予用户sysdba权限,OS访问设备的权限 - 远程操作: 设置密码文件 确保密码文件被备份 - 全球化环境变量设置 - 在RMAN命令行格式化时间参数 2. 连接类型
一、概览 实质上,JDBC连接数据库的方式一般可以分为两种,一种采用java.sql.DriverManager类(即JDBC驱动程序管理器),另一种采用JDBC中提供的实现DataSource接口的类(数据源)。更多人喜欢使用数据源的方式,相对于DriverManager的优点有:首先,程序不需要像使用DriverManager一样对加载的数据库驱动程序信息进行硬编码,程序员可以
前言在实际工作中,处理是一个非常常见的场景,比如:发送消息失败。 调用远程服务失败。 争抢锁失败。 这些错误可能是因为网络波动造成的,等待过后处理就能成功。通常来说,会用try/catch,while循环之类的语法来进行处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现处理功能。一、@Re
前言在实际工作中,处理是一个非常常见的场景,比如:发送消息失败。调用远程服务失败。争抢锁失败。这些错误可能是因为网络波动造成的,等待过后处理就能成功。通常来说,会用try/catch,while循环之类的语法来进行处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码。然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现处理功能。一、@Retry
转载 2024-03-30 21:27:50
284阅读
重试,在项目需求中是非常常见的,例如遇到网络波动等,要求某个接口或者是方法可以最多/最少调用几次; 实现重试机制,非得用Retry这个重试框架吗?那肯定不是,相信很多伙伴手写一下控制流程的逻辑也可以达到重试的目的。  那么用Retry的好处是什么? 简单来说,就是优雅。Retry重试框架,支持AOP切入的方式使用,而且能使用注解;想想,重试次数、重试延迟、重试触发条件、重试的回调方法等等
转载 2024-04-10 11:44:09
682阅读
需求:由于*.properties配置文件中设置的环境太多,维护不变,将配置信息存储到数据库。解决思路:1、通过springboot启动时加载数据库信息,将配置信息添加到环境变量Environment中,在需要引用的类中通过@Value("${key}")方式获取即可.代码实现:1、代码结构:2、数据加载DatabaseProperties类:import com.netbox.nbplatfor
Druid简介数据库连接池连接池是将已经创建好的连接保存在池中,当有请求来时,直接使用已经创建好的连接对数据库进行访问。这样省略了创建连接和销毁连接的过程,从而实现性能的提高。作用:资源重用:由于数据库连接得到重用,避免了频繁创建、释放连接引起的大量性能开销。在减少系统消耗的基础上,增进了系统环境的平稳性(减少内存碎片以级数据库临时进程、线程的数量)更快的系统响应速度:数据库连接池在初始化过程中,
转载 2023-12-18 20:04:41
80阅读
      前段时间系统在晚上突然会出现应用不可用的情况,只有经过长时间(大约10分钟)或者应用重启后,访问才能再次正常。查看日志,其中报大量的数据库连接异常。如下: Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The erro
转载 2024-02-21 14:02:11
120阅读
  最近在写数据库链接池,一个不可逃避的问题就是数据库断线。 查了很多资料,因为公司有很多项目用了 TP5 于是也去看了它的源码。tp5的实现其实很简单,配置了一些数据库连接相关的错误信息关键词(句),然后在执行语句时 catch 异常信息进行比对:// 服务器断线标识字符 protected $breakMatchStr = [ 'server has go
前言:还是老规矩,一步步的教大家如何建立前后端的 websocket 链接,并能完成互相传送数据的简单功能。由于网上找了半天发现很多帖子都是东一句西一句的,要不就是写的没什么注释和解释,导致我这个前端人员看后端代码非常折磨。但是,总算慢慢摸索给整出来了,那现在我就把一个详细版的,用前端小伙伴也听得懂的大白话来说一下如何实现 websocket 功能。效果图文档说明前端代码部分防止有后端小伙伴想写个
本文作者深入分析了 Redis 高可用的方方面面,并且做了有效总结,相信对广大读者可以起到很好的领路作用。Redis 中为了实现高可用采用了如下两个方式:主从复制数据。采用哨兵监控数据节点的运行情况,一旦主节点出现问题由从节点顶上继续进行服务。主从复制Redis 中主从节点复制数据有全量复制和部分复制之分。旧版本全量复制功能的实现 全量复制使用 Snyc 命令来实现,其流程是:从服务器
转载 2024-06-25 21:38:09
381阅读
# MySQL 是否设置数据库机制? 在互联网时代,数据库的连接稳定性是关系到应用程序可靠性的重要因素。尤其是在使用 MySQL 数据库时,连接可能会因为网络问题、数据库服务器重启等原因中断。那么,MySQL 是否提供了数据库机制呢?本文将为您提供详细的解读,并附上代码示例,帮助您理解如何处理 MySQL 连接问题。 ## 1. 什么是数据库机制数据库机制是指在应用程序与
原创 9月前
87阅读
# Spring Boot Redis 机制 在使用 Redis 作为缓存或消息队列时,由于网络或 Redis 本身的问题,可能会导致与 Redis 服务器的连接中断。为了保证服务的可靠性和稳定性,Spring Boot 提供了内置的 Redis 机制。 ## 为什么需要机制? 在分布式系统中,应用程序和 Redis 服务器之间的连接是非常重要的。当连接中断时,应用程序无法继续与
原创 2023-09-16 12:53:32
1067阅读
  • 1
  • 2
  • 3
  • 4
  • 5