自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 问答 (16)
  • 收藏
  • 关注

原创 既有项目修改shardingshpere分库分表踩坑记(三)

基于既有项目修改shardingshpere分库分表踩坑记(二),在测试过程中又发现一种情况。在同一个事务中,对config表(非分库分表可以编辑,分库分表可以编辑,业务关联查询)进行保存和查询,会大概率出现报错。查找报错原因是查不到记录。正常情况下,同一事务中,保存之后是可以查到记录的。但这里有点特殊,踩坑记(二)中,将config表配置成只更新主库。而保存之后查询走的是单播路由,查的不一定是主库,也可能查其他库,这时由于事务还没提交。所以其他库是查不到这条记录的。所以这里只能特殊处理下。

2023-11-15 11:43:12 103

原创 既有项目修改shardingshpere分库分表踩坑记(二)

背景基于既有项目修改shardingshpere分库分表踩坑记(一)。在测试过程中,发现部份表(下面以config表为例)与user表类似。在其他非分表分库系统配置,但是也有部分入口是在分表分库中的。所以在系统中修改的话,会报错。因为视图不能修改。但是配置成广播表也不行。在非分库分表系统修改的话,数据会不一致。解决方案最终还是配置成视图,然后系统修改的话只修改第一个库的数据。查了下,并不兼容这种操作,只能修改源码了。解决步骤配置文件增加单表配置和广播表配置。spring.shardingsp

2023-11-15 11:08:26 138

原创 既有项目修改shardingshpere分库分表踩坑记(一)

在既有项目使用shardingshpere分库分表改造后。发现有些sql(例如:select * from order join user )还需要关联单表(举例user表),user表没有做任何配置,故是单表,其他库查sql的话是找不到user表的,所以会报错。由于用户角色模块是单独的自研的工程配置的。工程还没有分表分库配置。对方也没打算改。所以只能自己想办法。

2023-11-15 10:15:53 164

原创 既有项目使用shardingshpere分库分表改造

项目数据量比较大,导致查询很慢。sql优化之后,还得不到预期效果。由于业务关联多,多个业务表数据量都很大。故采用分库分表方案。一开始,同事用shardingshpere 分片键进行分库分表。这样的话由于关联的表比较多,所以有些表要加上分片键,且所有的sql都要加上分片键条件才行。其中一个模块分给我这边改。处于改动很大与觉得这样不太科学。去了解了一下shardingshpere。发现可以强制路由,即不带分片键,在代码层面先指定库表。故进行了改造。

2023-11-09 17:08:18 56

原创 Mybatis 分离查询日志和修改日志

【代码】Mybatis 分离查询日志和修改日志。

2023-11-03 16:42:04 58

原创 git项目过大,删除历史提交大文件

1、先clone 代码到本地2、下载完成之后进入代码目录3、将代码推送至新的库(在此之前要将所有分支checkout 到本地一下,否则推送上去没有分支。若忘记了。可以再checkout 后再推送一下。

2023-08-03 11:51:11 116

原创 好用idea插件

5、RestfulToolkit-fix(url直接跳转;Ctrl + \ or Ctrl + Alt + N)3、Mybatis Log Free(打印mybatis 的sql语句拼接参数)4、MybatisX (Mapper.xml 和 Mapper.java 互跳)6、Maven Helper(maven 依赖查看,排除多版本依赖)7、Sequence Diagram(代码时序图)8、camelCase(驼峰、下划线等格式互转)2、SonarLint(代码质量)9、JRebel (热部署项目)

2023-05-08 11:55:45 49

原创 网页调用客户机软件。BS调用CS端的软件。

【代码】网页调用客户机软件。BS调用CS端的软件。

2022-11-17 15:16:51 778

原创 springboot 实现nginx代理功能,兼容https跳转

1、引入maven依赖 <dependency> <groupId>org.mitre.dsmiley.httpproxy</groupId> <artifactId>smiley-http-proxy-servlet</artifactId> <version>1.12.1</version> </dependen

2022-04-28 15:02:19 2974

原创 Kafka监控工具Kafka Eagle

由于与官网的安装文档差异较大。故写下此文章1、官网自行下载:https://www.kafka-eagle.org/,以下以2.0.9为例子2、解压安装包。解压完成之后,文件夹又有个压缩包,再解压,这个才是真正的程序。改名为efak-web。3、解压完成之后,需要配置一下环境变量:增加变量:KE_HOME。值为:D:\tool\efak-web4、修改conf/system-config.properties,主要关注几个内容:#kafka对应别名,以及对应的zookeeper地址,集群用,隔

2021-12-29 13:53:35 3034 3

原创 Linux定时检测并重启Kafka

1、编辑定时脚本vi kafkaRestart.sh#!/bin/shsource /etc/profileproc_dir="/usr/local/kafka_2.13-2.8.0"proc_name="kafka.Kafka"file_name="cron.log"pid=0#获取kafka线程数量proc_num(){ num=`ps -ef | grep $proc_name | grep -v grep | wc -l` return $num

2021-12-28 15:33:11 615

原创 Linux开机自动启动kafka

一、首先尝试过zookeeper.service、kafka.service。方式,不过一些环境变量问题,导致无法启动。二、采用/etc/init.d/ 方式1、编辑/etc/init.d/zookeeper,注意以下几点:(1)要设置java环境变量(2)#chkconfig:2345(level) 20(启动顺序:越小越快) 80(停止顺序)(3)start、stop、status、restart。都要有对应的命令#!/bin/bashexport JAVA_HOME=/usr/loca

2021-12-28 14:15:02 1046

原创 Gradle 动态参数打包

1、在build.gradle加入代码(声明接收变量与业务处理)def type = System.getProperty("type") ?:"default"if(type == 'typeA'){ //typeA逻辑}else if(type == 'typeB'){ //typeB逻辑}else{ //其他逻辑}2、打包的时候带上参数-Dtype=typeA...

2021-08-13 15:43:25 272

原创 自用线程池工具类

BatchOperationThreadTaskUtil 主要工具类@Componentpublic class BatchOperationThreadTaskUtil { private static final Logger log = LoggerFactory.getLogger(BatchOperationThreadTaskUtil.class); /** * 同业务最大线程上限,防止超过连接数 */ private static final

2021-01-27 17:51:22 157

原创 mysql一次死锁分析

1、通过show engine innodb status;获取死锁日志。------------------------LATEST DETECTED DEADLOCK------------------------2021-01-25 09:44:09 0x2a0c*** (1) TRANSACTION:TRANSACTION 2782972, ACTIVE 103 sec insertingmysql tables in use 1, locked 1LOCK WAIT 7 lock

2021-01-25 10:20:16 84

原创 activiti 修改历史流程图修改节点

背景:在走流程过程中选择处理人提交之后。后台报错。意思类似找不到el表达式为${singleAssignee}。由于是历史流程图。故无法校验是否节点配置错误。故查到历史流程图的xml内容。1、已知instanceId。查表act_ru_task,得PROC_DEF_ID:reportChangeDetail:13:87725902、已知PROC_DEF_ID,查表act_re_procdef,得DEPLOYMENT_ID:87725013、已知DEPLOYMENT_ID与PROC_DEF_ID

2021-01-15 15:56:09 1454

原创 redis事务中setIfAbsent无法及时返回true或false,返回null

代码如下,现需要批量处理业务,为了防止一条数据被多次处理,故缓存到redis中。又因可以同时操作多条数据,故考虑用redis事务,当其中一个已被其他人处理中时,之前设置的也全部回滚。但实际过程中 redisOperations.opsForValue().setIfAbsent();并非返回true或false。需要等到exec时才能获取返回值。故一下做法就无效了,需要换一种实现方式。 RedisTemplate redisTemplate = RedisUtils.getRedisTemplate()

2021-01-05 14:04:30 6948

原创 Memory Analyzer分析尝试

1、使用jdk自带jvisualvm,dump一下快照。2、下载Memory Analyzer。3、打开快照。

2020-12-21 14:00:28 41

原创 spring aop 注解打印日志

spring aop 注解打印日志@Component@Aspectpublic class ControllerLogAspect { private static Logger logger = LoggerFactory.getLogger(ControllerLogAspect.class); @Pointcut("execution(* com.hhh.framework..*.controller..*.*(..))") public void pointCu

2020-12-11 15:43:30 55

原创 Bean和Map互转

import org.apache.commons.collections.MapUtils;import org.apache.commons.lang3.math.NumberUtils;import org.apache.poi.ss.formula.functions.T;import javax.persistence.Column;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.

2020-12-11 15:42:11 518

原创 记一次并发锁超时排查

背景:用户需求需要批量走流程,但单线程走流程速度比较慢,10条的话需要花费10倍的时间,故改成多线程模式;改成多线程模式之后遇到多种bug;1、处理完成之后,刷新页面,流程数据还没保存完成导致刷新页面错误解决方法:主线程延迟500ms 返回。2、jpa方式下,并且主线程等待子线程完成之后返回。会导致子线程里面修改的值被主线程覆盖掉。伪代码例子:public class A{ @Autowired private B b; public test(id){ b.test(id); ne

2020-12-11 15:36:48 1406

原创 线程池批量处理业务,一条报错全部回滚

1、主要代码@Componentpublic class BatchOperationThreadTaskUtil { //工具类静态执行 private static PlatformTransactionManager transactionManager; //此属性只是为了动态赋值给上面的属性 @Autowired private PlatformTransactionManager remoteTransactionManager; private st

2020-12-11 15:35:07 790

原创 mysql 数据库锁表排查

SHOW OPEN TABLES WHERE In_use > 0;SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;SELECT * from performance_schema.events_statements_current;SELECT * from

2020-12-03 10:06:28 260

原创 mysql查询like in

背景:数据库字段存放的值采用逗号拼接。例如:“a,b,c,d”有一个需求,需要查询部门数据,即该字段包含部门下任意一个人员就要查出来。所以逻辑类似like in 操作。通过百度,找到一个函数FIND_IN_SET();例子:FIND_IN_SET(“a”,“a,b,c,d”);即在第二个参数中匹配到第一个参数,则查出来。SELECT * from business_table t,person p WHERE p.dept_id = ‘D1’ AND FIND_IN_SET(p.id,t.pers

2020-12-02 15:45:29 1026

原创 前端a标签按钮重复触发问题

$("body").on('click','a',function(obj){ var a = $(this) $(a).css("pointer-events","none") setTimeout(function(){ $(a).css("pointer-events","auto") },1000) });

2020-08-24 14:30:45 386

原创 前端table表格箭头上下移动

因业务需求,需要按上下移动箭头来使得光标上下移动。且表格是不规则的,存在单元格合并(横向,纵向都有)且并非所有的单元格都是input框。故使得功能开发出来比较麻烦。/** * 获取单元格在表格中的绝对位置 * @param td * @returns {number} */ function getTdOfTableLocation(td) { let colCount=0; td.prevAll("td").each(fun

2020-08-24 14:29:09 1027

原创 上下移动问题

上下移实现方式1:默认赋予sort,上下移动交换两个数据的sort。点击触发接口生效。2:在前端上下移动之后点击保存,再实际生成排序sort。点击保存才触发接口。目前采用方式1实现上下移动上移功能:大致想法是全部按照排序查出,循环查询到选择的那一条。缓存上一条的数据。然后互换排序号。 List<JCItemBean> categoryList = jCItemService.findJCItemByCategoryIdOrderBySortAsc(categoryId);

2020-08-24 14:21:11 164

原创 activiti流程跳转方法

activiti流程跳转方法public class JumpTestCmd implements Command<Void> { private String taskId; //当前任务ID private String targetNodeName; //跳转的目标节点ID private String operationId; //指定处理人 public JumpTestCmd(String taskId, String targ

2020-08-24 14:20:37 579

原创 业务实现的优化想法

问题介绍:由于业务比较复杂,根据不同的项目,有不同的表。项目很多。而项目表中,又有很多的字段,每个项目属性都不一样。导致的问题:1、加一个项目就需要加一个表。2、项目表字段过多,容易溢出,需要垂直分表。3、根据选择不同的参数,对应不同的属性,导致项目表中有部分是无用的字段。想法:弄成通用的。项目共用表+key value 形式的细表。多少个属性多少条细表记录。这样的话可以解决上面的问题。1:加一个项目,不需要加表;2:表的字段不会太多导致要垂直分表;3:存在的属性才会加到细表中。由上面的问题由延

2020-07-31 14:30:55 55

git 项目太大,清除历史提交大文件

git 项目太大,清除历史提交大文件

2023-08-03

window java jdk1.8

window java jdk1.8

2023-07-27

Windows Process Explorer 进程浏览器

可以用于查看程序的进程已经关联的子进程。可以查看程序的cpu、gpu、访问的地址等信息。

2023-04-14

Windows Process Monitor

可以查看Windows程序的操作,包括文件操作和注册表操作。新增、查询等。可以用于排查文件是哪个程序创建的。

2023-04-14

jstat.xlsx

jstat.xlsx

2021-01-26

kingbase 启动报错 内存不足

2023-08-08

java html 播放视频后台报错问题

2023-07-06

arcgis Server SOE 连接数据库报错

2022-11-22

win10 Intel GPU 监控与采集工具

2022-09-27

zookeeper 设置 Acl 后 kafka 启动失败

2022-09-26

kafka增加安全配置报错问题

2022-09-26

arcgis soe 怎样才能正确的引入第三方jar包呢

2022-09-02

Java 操作 arcgis Server 10.5 初始化的时候闪退

2022-08-29

arcgis server 注册数据库卡住

2022-07-15

定时器执行一段时间之后就卡住了

2022-06-18

生产环境下访问速度慢,cpu、内存、磁盘利用率都不高问题

2022-03-07

生产环境很神奇的现象,一行代码用了3-4s

2022-03-04

各位一下,这个可以表示网络不好么

2022-02-18

访问网站速度时快时慢。cpu和内存指标都正常

2022-02-18

spark+hbase范围查询比传统数据库慢么?

2021-12-09

spark sql join 1个driver很慢,其他很快,怀疑数据倾斜,帮解决可有偿私

2021-11-24

activiti 可以动态拓展会签人么

2021-11-16

为什么arcgis拓扑检测速度那么快呢?

2021-11-08

gdal 的Geometry.GetEnvelope​(double[] argout),数组内容分别代表什么

2021-10-27

spark在yarn模式下报UnsatisfiedLinkError错误,请问知道是什么问题么或应该怎么排查呢?

2021-10-26

spark 提交集群任务会报 java.lang.UnsatisfiedLinkError: no gdalalljni in java.library.path

2021-10-18

spark中的rdd还能查数据么

2021-08-20

生产环境下究竟是如何连接远程spark的呢?

2021-08-20

spark都是打成jar包执行么

2021-08-10

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除