先说一下,系统的相关信息,一共两个系统分别称呼是 A 和 B 吧。1. 两个系统都没有源码;2. A 是 springboot 项目,B 是传统的 Tomcat;3. 两者都是使用内网 IP 地址连接同一个数据库;4. 两个系统包括数据库都是一个月前老服务器迁移到了新服务器。表现是 A 系统也就是 springboot 系统响应速度正常,B 系统也就是那个 Tomcat 系统响应速度相对正常,就是有一点慢,但是一直没有放在心上,内部系统,能用,有一天发现 B 系统的某个接口特别特别慢,以至于会响应超时,然后排查这个问题,还有就是目前只发现了这一个接口慢,A 系统有一个类似功能的接口,响应速度也[……]
Read more
一般我们在公司工作中,很少有人就负责一个项目,而负责不同的项目,由于各种原因使用的 JDK 版本可能并不相同,如果存在不兼容的情况,那么本地 mvn clean compile 的时候就会报错,这个时候就需要我们去修改我们设置的环境变量,如果多个项目同时开发,那么就需要时不时切来切去,特别烦人,其实这个问题 maven 早就替大家考虑过了,我们只需要:
1. 修改 maven 的 toolchains.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!--
Lic[......]
Read more
作为开发,我们都知道数据备份的重要性,而数据备份最重要的就是数据库备份,前一段时间由于操作失误,误删过一次数据库,所以特把备份和恢复脚本分享出来,作为笔记。
1. MySQL 备份脚本
#!/bin/bash
# ===================================================================
# MySQL 分库全量备份脚本(生产级 | 自适应 --source-data / --master-data)
# 功能:
# - 自动发现用户数据库
# - 每库独立压缩备份
# - 自动选择 --sou[......]
Read more
前几天公司有个需求要做全文索引,于是写了一个脚本使用 docker 一键部署 ELK 服务,内容如下:
#!/bin/bash
set -e
echo "=================================================="
echo "🚀 开始部署 ELK + MySQL 同步(中文分词 + 固定索引)"
echo "=================================================="
# ==================== 配置[......]
Read more
前一段时间有一个需求,需要计数,理所当地的使用了 redis 的 incr 方法。代码大概如下:
@Scheduled(cron = "0 0/10 * * * ?")
public void test() {
long yellowInterval = 5L;
boolean isReachable = false;
// TODO
long delta = isReachable ? -1L : 1L;
ValueOperations<String, Long> value[......]
Read more
1. 打包的时候报错,提示 jar 重复,具体详情:
* What went wrong:
Execution failed for task ':web-admin:bootJar'.
> Entry BOOT-INF/lib/jaxb-core-4.0.3.jar is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.6.3/dsl/org.gradle.api.tasks.Copy.html#org.grad[......]
Read more
前一段时间曾写了一篇关于Spring MVC 通过 SSE 实现消息推送的小文章,后来系统上线的时候,遇到了一个小问题,打开浏览器的 network,看到接口报:(failed) net::ERR HTTP2 PROTOCOL ERROR,通常是因为 HTTP/2 协议与 SSE 的某些特性不兼容所导致的。SSE 是基于 HTTP 协议的服务器推送技术,它要求连接保持打开状态以便服务器可以持续发送更新给客户端。我们使用的 nginx version 是:nginx/1.26.1
只需要按如下配置即可解决:
server {
listen 80;[......]
Read more
前一段时间做一个小需求,需要展示 druid 的监控页面,我们都知道 druid 监控地址是:http://ip:port/druid/index.html,但是当时一直报 404,后来查了资料,引入的 jar 包:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.24</version>
</dependency[......]
Read more
又好久没有写文章了,自从有了大模型之后写文章的态度越来越提不起兴趣了,有问题,直接问大模型即可。前几天公司有个需求,想用 SSE 实现,之前从没写过,所以让大模型直接写,然后实现超级简单:
1. 编写 SSE 服务,来进行创建链接和发送消息
package cn.bridgeli.demo;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.[......]
Read more
之前曾经写过MySQL的一个小问题,就是 MySQL 如果采用的字符集是 utf8 的话,emoji 的话,是存不进去的,因为历史原因 MySQL 的 utf8 不是真正的 utf8,utf8mb4 才是真正的 utf8,所以在创建数据库的时候编码集推荐选择 真正的 utf8mb4。今天就再写两个小问题:
1. allowMultiQueries=true
前一段时间同事有个需求,使用 mybatis 的时候,在同一个 mapper 方法中需要同时执行两个 MySQL 语句,当时同事说他把 SQL 拷贝出来执行都没有问题,但是在代码中执行就是报错,让我帮忙看一下原因,当时听他描述,[……]
Read more
近期评论