- 博客(57)
- 收藏
- 关注
原创 项目打包部署脚本
7.使用mvn打包然后取target下的tar.gz包上传后使用tar -xzvf xxx.tar.gz解压。解压以后 进入bin文件进行启动关闭脚本 sh startup.sh 、 是sh shutdown.sh。2.assembly.xml文件放在resource下的assembly文件夹下。5.启动脚本放在项目的script文件夹内 startup.sh。就可以实现在服务器改文件了 文件放在了config文件夹里。6.关闭脚本 shutdown.sh。3.application文件写法。
2025-11-26 16:14:06
194
原创 @Transactional失效的几种情况
《@Transactional失效的常见场景》摘要:声明式事务注解@Transactional在三种情况下会失效:1)rollbackFor参数设置不当,如异常类型不匹配;2)方法内捕获异常未抛出,导致事务无法回滚;3)同类方法内部调用时,由于未通过Spring代理,事务注解不生效。使用时应避免这些情况,确保参数配置正确、异常处理得当,并注意Spring代理机制的限制。(149字)
2025-11-11 16:02:01
168
原创 用户登陆流程文字解析
摘要:该系统采用JWT实现用户认证,核心流程包括:1)登录时生成包含用户ID的Token;2)通过拦截器校验Token有效性后将用户信息存入ThreadLocal;3)提供SecurityUtil工具类获取当前用户信息;4)登出时将Token加入黑名单;5)实现Token自动续期机制。关键技术点:使用JwtUtil生成/校验Token,UserContextHolder管理线程级用户数据,Redis存储用户信息及黑名单,拦截器统一处理权限校验。系统确保了接口访问安全性和用户状态管理的高效性。
2025-10-30 14:09:37
183
原创 百万级数据读取调接口存数据的流程操作
针对700万CSV数据处理的优化方案推荐: 方案一(最优): 大文件拆分为多个10万行子文件(便于异常重跑) 使用线程池(6-8线程)并行处理子文件 流式读取(BufferedReader)逐行处理,避免内存溢出 采用RateLimiter控制接口QPS(30次/秒) 最终合并子文件 关键优化点: 内存控制:流式读取+单线程处理单个文件 异常处理:子文件级别容错 性能平衡:线程池+QPS限制 IO优化:拆分后并行处理 代码实现了OkHttp连接池、Guava限流器等组件,确保系统稳定性和接口调用可靠性。
2025-10-16 15:47:47
184
原创 springboot配置多数据源(mysql、hive)
本文介绍了MyBatis-Plus与Hive数据源的整合方案。由于MyBatis-Plus设计针对关系型数据库,不建议直接操作Hive,因此采用双数据源配置:MySQL使用MyBatis-Plus管理,Hive通过JdbcTemplate操作。文章详细说明了相关依赖引入、YML配置(包括连接池参数)、核心配置类实现(DataSourceConfig和MyBatisPlusConfig),以及通过@Qualifier注解区分数据源的方法。最后给出了MySQL的Mapper使用示例和Hive的JdbcTempl
2025-09-04 14:29:48
601
1
原创 多节点部署执行作业的防操作同一条作业的解决方案
文章摘要:本文提出两种分布式任务调度方案。方案一采用乐观锁+版本控制,通过version字段确保只有一个节点能成功修改任务状态。方案二结合分布式锁与乐观锁,使用Redis的setIfAbsent实现互斥访问。两种方案都实现了任务执行的互斥性,方案一更轻量但存在重试开销,方案二引入Redis但能更快速释放锁。核心区别在于锁的实现方式:数据库乐观锁vsRedis分布式锁。
2025-09-03 14:22:42
175
原创 统一类转换对象
摘要:本文介绍了一个PO与VO对象转换工具类ConvertObjectUtil,通过Java反射机制实现数据库对象(PO)与前端展示对象(VO)之间的自动属性复制。该工具类提供convertObjectToVo方法,能够遍历两个对象的同名属性并进行值拷贝,同时跳过serialVersionUID字段。这种转换方式简化了前后端数据交互中的对象转换过程,提高了开发效率。转换过程中会对私有字段进行访问权限处理,确保属性值能正确传递。
2025-08-13 09:53:16
365
原创 解决错误问题:Result Maps collection does not contain value for java.util.Map
出现问题的过程是新增了个接口 因为是直接从上边复制的,所以这个resultMap没有修改,然后用户登录时候mybatis查询数据库的出现了问题,但是同事没问题,就联想今天修改的代码那部分有问题,然后就找到问题了!也就是说你可能排查出错的文件可能发现没问题,但是问题出在了其他的文件!resultMap改成resultType 即可。
2025-07-28 10:09:12
258
原创 库表操作记录
alter table APP_LOGISTICS_SYSTEM_AIS_ROLE add COLUMN tenant varchar(32) not null comment '租户库名';
2024-12-05 16:41:45
271
原创 第一次操作jmerter进行压测,记录下
3.进入bin文件夹找到jmeter.bat 双击打开,以下是POST请求创建的测试计划。创建线程组 (放线程数,模拟多少用户请求,请求多少次)创建HTTP信息头管理器(可以放请求的headers)创建查看结果树(可以查看每个请求的信息和响应信息)创建汇总报告(可以查看吞吐量和响应耗时)创建http请求(放请求的ip和端口)2.下载完成后解压,配置环境变量。
2024-11-28 15:21:22
393
原创 springboot 集成IP白名单配置
3.最后一步也是最关键的一步,让我们的拦截器生效是要把拦截器注册进来。以下主要是使用拦截器(Interceptor)添加白名单黑名单的目的是控制请求。使用拦截器或者过滤器都是可以的!
2024-09-20 10:20:47
806
原创 TCP粘包和拆包
接收方发生粘包 接收到的消息是 ----》》 helloworld。2.接受方的cpu强大,可以接受的数据包大,导致粘包。拆包:发送方发送一条数据包,接收方拆成多分数据包。粘包:发送方发送多条数据包,接收方合成一条数据包。1.发送方放松的数据频繁但是数据包小,导致粘包。3.发送方数据包大接收方的cpu弱小,导致拆包。2.为每个数据包添加结尾符号,比如\n等。1.为每个数据包添加长度。发送方发送 两条数据包。
2024-09-14 13:45:17
332
原创 git常用命令汇总
先切到集成环境 git cherry-pick 提交id。git clone xxx.git 首次拉代码。dev环境部分文件改动,此时要切到test环境。切到集成环境git merge dev。git stash save 暂存名字。git stash pop 取消暂存。git commit -m 提交信息。开发环境合并到集成环境,指定某次提交。git add .提交全部修改文件。git push 提交到远程仓库。开发环境全部合并到集成环境。git add 某个文件。
2023-08-03 16:13:51
206
原创 git提交只单个或者某几个文件的指令
日常工作中可能如果本地配置文件(application.yml)修改了,没有想着给远程仓库提交的话,在切换代码分支的时候,可以直接通过 git stash 代码切换 再切换回来后 执行 git stash pop 吧刚才的本地修改从暂存区取消出来,这样就不会因为本地的修改在切换分支的时候强制退回导致下次切换回来还要重新改动了~~~~~~~~~~~~git commit -m '' ---针对本次修改添加注释并提交到远程仓库。git stash -u -k --其他文件保留到本地暂存区,不进行提交。
2023-07-07 23:45:45
2631
原创 java项目整合hbase实现增删改查
2.1在hbase里面创建一张表。首先第一步是连接hbase。第二就可以根据实现增删改查。2.4 按照条件查询数据。2.2 查询一行数据。2.8 新建和删除列族。2.9 插入一行数据。
2022-08-22 11:00:37
1012
原创 mybatis整合oracle如何实现id自增
mybatis整合oracle数据库设置id自增的配置,首先需要创建序列,其次设置配置类,最后在实体类添加@keysequens注解添加value值为序列名,再在主键上面添加朱家@tableid,设置value值为id名字,type值为idtype.INPUT
2022-05-12 15:59:34
1572
原创 青龙面板-酷狗大字版
拉库教程:命令:ql raw https://gitee.com/ajouter/shiyi.git/raw/shiyi/kgdzb.js时间配置:跑一次脚本10 10 * * *跑两次脚本需要设置二次就填 30 8,17 * * *
2022-04-04 00:15:25
725
原创 数组去重的两种方式
@Test void test01(){ int[] a = {1,1,0,1}; Set<Integer> myset = new HashSet<>(); ArrayList<Integer> list = new ArrayList<>();#方式1 for(int b:a){ myset.add(b); }#方式2 for..
2022-03-29 15:38:38
94
原创 数据库常见面试题
一 数据库的隔离级别有几个?1.读未提交,最低级别2.读已提交,可以防止脏读3.可重复读,可以防止脏读、不可重复读4.串行话,可以避免脏读、不可重复读、幻读什么是脏读、不可重复读、幻读????脏读就是一个事务读取到另外一个事务未提交的数据,可能引发数据库中的数据回滚。不可重复读就是一个事务先读取一次数据,另一个事务修改数据,第一个事务读取数据发现不一致了。幻读就是两个事务操作数据库,第一次读取数据和第二次的数据不一样,缺少了或者增加了数据。不可重复读重在数据被修改,幻读重
2022-03-11 14:45:14
972
原创 VUE设置对时间处理
<template> <div> <div> <h1 align="center">{{item.title}}</h1> <h6 align="right" style="margin-right: 250px;">{{item.created | dateFilter}}</h6> </div> <div style="border:1px soli.
2022-03-02 14:13:27
399
原创 青龙面板对接傻妞、诺兰、Onebot
启动onebot (务必傻妞已经在后台运气 不然会提示对接失败)#QQ号填你的机器人号cd /root/node-onebot && node main QQ号后台挂起程序 这里用的pm2#安装pm2npm install -g pm2#挂起one-botcd /root/node-onebot && pm2 start "node main QQ号"...
2022-03-01 18:30:03
1012
原创 Maven中的setting文件的配置
<?xml version="1.0" encoding="UTF-8"?><!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistributed with this work for additional informationregarding copyright ownersh.
2022-02-16 09:24:11
1880
原创 Redis主从复制配合哨兵和集群测试代码
Redis主从复制(一个Master/多个slave)配合哨兵模式(观察者)@SpringBootTestpublic class MasterSlaveTests { @Autowired private RedisTemplate redisTemplate; @Test void testMasterReadWrite(){//配置文件端口为6379 ValueOperations valueOperations = redisTemplate
2022-02-16 08:59:52
111
原创 Redis创建连接池与测试使用
连接池的创建package com.jt.redis;import org.apache.commons.pool2.impl.GenericObjectPoolConfig;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;public class JedisDataSource { /** * Jedis连接池对象 * volatile 关键字作用 * 1)
2022-02-16 08:45:34
467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅