记录
zhangSir134
不断思考,不断总结
展开
-
quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist
问题:spring-boot 整合quartz的时候,连接windows的mysql的时候好好的,然而用linux上的mysql的时候,启动就报了这个错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS’ doesn’t exist分析:首先用windows的mysql是没问题的。其实linux的mysql也是有这个表的,但由于是从windows复制过去的,所以表名都是小写的,而quartz启动的时候找的是大写,所以认为test.QRTZ原创 2020-09-25 21:31:39 · 19411 阅读 · 6 评论 -
@JsonFormat失效解决
先说结论@JsonFormat失效,换成@JSONField就好了问题经过和原理@JsonFormat作为Date类型的属性值,返回前端格式化处理,很方便。比如: @JsonFormat(pattern = "yyyy/MM/dd HH:mm:ss") private Date updateTime;返回给前端是这样:但在我加了ResponseBodyAdvice之后就失效了。ResponseBodyAdvice是一个接口,自定义一个类,实现这个接口后,就可以对controlle原创 2020-05-22 22:59:03 · 37708 阅读 · 12 评论 -
mac/windows 端口占用解决记录
zhangshuaideMacBook-Pro:~ zhangshuai$ lsof -i:8095COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEGoogle 375 zhangshuai 32u IPv6 0x726da2a1cd026eef 0t0 TCP loca...原创 2020-02-15 09:47:35 · 7484 阅读 · 0 评论 -
实用的java代码生成器,开箱即用(基于mybatisplus的AutoGenerator)
简单的代码自动生成原创 2020-01-10 16:20:51 · 7366 阅读 · 0 评论 -
[记录] ---阿里云java.io.IOException: Connection reset by peer的问题
项目部署到阿里云,突然报错,频繁的打印堆栈信息,一开始是把堆内存打满导致服务一直重启,调大堆内存后就不影响正常服务了,但还是一直打堆栈,虽说日志会自动清理,但一直打这个信息着实不好看。最终在阿里的elb健康检查的F&Q中找到问题原因。原文第11条...原创 2019-12-25 15:00:08 · 9322 阅读 · 0 评论 -
[错误记录] --- rocketmq批量消费设置参数的问题
rocketmq想支持批量消费,于是便设置以下参数:consumer.setConsumeMessageBatchMaxSize(1000);这样是正确的,但由于业务要求,还想再设置大点,于是设置成这样:consumer.setConsumeMessageBatchMaxSize(10000);报错了。直接不消费了。错误原因写的很明显,这个consumeMessageBatchMax...原创 2019-11-27 18:52:26 · 9741 阅读 · 0 评论 -
[错误记录] --- clickhouse报错Decimal value is too small
java操作clickhouse数据库,执行insert的时候,报错:Exception in thread "main" ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 69, host: xx.xx.xx.xxx, port: xxxx; Code: 69, e.displayText(...原创 2019-11-25 16:18:36 · 11516 阅读 · 0 评论 -
错误记录:expected single matching bean but found 2
springboot项目,之前有mysql数据源,现在又新增了clickhouse数据源,于是新增了一个clickhouseDatasource的配置bean,结果报错,如下:nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'get...原创 2019-11-19 09:46:45 · 9352 阅读 · 0 评论 -
windows本地项目开机自启动设置
记录下,本地项目开机自启动vue项目新建vue.bat文件@echo off:: nodejs安装目录下的nodevars.batset nodevars = "D:\Program Files\nodejs\nodevars.bat":: 切换到D盘d::: 移动到需要启动的目录cd D:\Users\curry.zhang\IdeaProjects\data-check-we...原创 2019-10-18 16:18:33 · 7479 阅读 · 0 评论 -
mongodb数据库,批量插入性能测试记录
spring boot 框架下,操作mongodb数据库maven:spring-data-mongodb:2.1.3.RELEASEmongo数据库用的是本地的mongo,所以环境不一样,可能结果不一样。但趋势应该是一样的。简易代码如下://CheckedData是存入mongo对应的实体类List<CheckedData> checkedDataList = new Ar...原创 2019-09-25 17:22:16 · 10195 阅读 · 0 评论 -
[前端记录] --- vue axios 等调用完再执行后面的语句
vue 整合echarts的时候,是先axios 调用后台接口,获取数据,再将数据渲染到页面。一开始的问题是:第一次请求完,页面没数据,再请求一次才出现数据分析到最后,发下是由于axios是异步请求的,所以先执行的数据渲染,请求的数据才返回来这时候做了一个不对的判断,就是我总是想着怎么把这个异步请求变成同步请求,花了半个小时左右研究,比如这篇文章:使用 async/await 将 axios...原创 2019-08-30 19:46:32 · 18202 阅读 · 2 评论 -
[记录] --- linux安装redis
获取redis资源wget http://download.redis.io/releases/redis-具体版本.tar.gz解压tar xzvf redis-具体版本.tar.gz安装cd redis-4.0.8make(这个需要安装了gcc,没有gcc的先执行这个命令:yum install gcc)cd srcmkdir /usr/local/redis/etc(建议提前...原创 2019-08-06 19:21:52 · 7176 阅读 · 0 评论 -
[记录] --- linux上项目
1.安装jdk8yum -y list java* 查看可安装java版本yum install -y java-1.8.0-openjdk-devel.x86_64java -versionjdk在/usr/lib/jvm目录2.配置环境变量打开/etc/profile在profile文件末尾加入:export JAVA_HOME=/usr/lib/jvm/java-1.8.0...原创 2019-08-06 19:17:06 · 7160 阅读 · 0 评论 -
[记录]---mysql数据库,decimal类型设置默认值0,不要是null
mysql数据库类型为decimal的字段,最好把默认值设置为0,不要设置为null。因为null值在代码中及其容易造成空指针。原创 2019-08-01 17:05:07 · 27333 阅读 · 3 评论 -
java 上传文件注意事项
java 上传文件注意事项1、文件名有特殊字符的情况,所以最好是文件名前台url编码,后台再url解码,这点在下载的时候也一样2、文件大小一定要设置,spring boot 有默认。3、文件名校验:3.1、文件后缀校验3.2、content-type校验3.3、通过文件流,校验文件头,真实校验其中,单纯的文件后缀和content-type校验,容易被绕过,只有文件流才能真实的判断出这...原创 2019-07-18 18:36:10 · 8104 阅读 · 0 评论 -
Notepad++中的UTF-8无BOM格式编码
Notepad++中,关于utf-8的编码格式,有两种:以UTF-8无BOM格式编码和以UTF-8格式编码。很容易给人一种错觉,第一反应会选择以UTF-8格式编码,感觉这种就是平时所说的UTF-8,然而这种编码是默认带BOM的,就是文件头上多了个特殊的标记。先说结论:建议选择以UTF-8无BOM格式编码不要BOM不要BOM不要BOMBOM格式(Byte Order Mark)是微软特有...原创 2019-07-18 18:13:12 · 17850 阅读 · 1 评论 -
shiro的集群动态权限更新
shiro的动态权限,一般都是将权限放在数据库中,项目启动后将权限加载给shiro当数据库的权限数据发生改变时,重新加载权限给shiro。单机这样做没问题,但是当项目服务是集群的时候,比如有tomcat1,tomcat2,tomcat3,那么更新权限后,重新加载权限的操作只能落到一个tomcat上,比如落到tomcat1上了,那么tomcat1的权限是最新的,但tomcat2,tomcat3的...原创 2019-07-04 18:39:20 · 7981 阅读 · 0 评论 -
java方向好看的书
从Lucene到ElasticSearch:全文检索实战 大数据架构详解:从数据获取到深度学习 代码整洁之道 架构解密:从分布式到微服务 从Paxos到Zookeeper分布式一致性原理与实践 大型网站技术架构 核心原理与案例分析 分布式服务架构:原理、设计与实战 Spring实战(第4版) 重构 改善既有代码的设计...原创 2018-06-17 16:25:33 · 7588 阅读 · 0 评论 -
订单量的监控
要解决的问题 :1.在电商项目中,如何准确的知道当前订单量是正常的 2.如何在订单量突变后快速感知解决思路 :实现一个关于订单量的监控系统,将历史数据与实时数据做对比,因为每天的订单量,基本都是一个相似的变化范围,比如凌晨4点的单量是一天中最少的,节假日的单量要小于工作日单量等等前提条件 :1.不影响当前系统的性能(主要是数据库的压力不能因为监控而受到影响) 2.减...原创 2018-07-12 21:10:25 · 10219 阅读 · 0 评论 -
基于abtest思想的流量切换(nginx lua redis)
使用前提:项目重构了,旧项目还在线上运行,新项目准备替换线上的项目需求:要实现实时切换新旧项目,保证如果新项目上线后有问题,可以立刻将流量切回旧项目实现:...原创 2018-07-18 23:02:07 · 10335 阅读 · 2 评论 -
非对称加密算法之RSA算法实现
对称加密,非对称加密,公钥,私钥,RSA这些常常听到的,到底是怎么回事有个同事问我公钥私钥到底为什么能互相解开,一时间竟然回答不上来,平时都只是知道怎么用,但很少去了解的更细,现在做个整理,记个笔记非对称加密简述公钥加密后的密文,只有私钥才能解密 简单来说,A和B要互相通信,A生成一个公钥和一个私钥, A将公钥传给B, 此时B将公钥和真正的数据M加密,生成密文是N, B再将N通...原创 2018-08-01 00:38:31 · 8242 阅读 · 0 评论 -
java 时间的相关转换操作
关于时间的操作,写了个util主要用于预测的时候,时间段的确定预测的时间段,需要明确的规定范围,由于业务的促销都是整点开始,所以我们的预测时间段,也是从整点开始所以就要将时间分为多个整段,比如一分钟一段,那么就是2018-06-18 00:00:00 到2018-06-18 00:01:00 就是一段那么在确定一分钟为一段的前提下,我们就要将这一分钟内所有数据都归到这一分钟内下面的uti...原创 2018-10-08 21:55:07 · 7643 阅读 · 0 评论 -
短信微信等消息发送系统的架构设计
消息发送系统项目中的一种做法,简化总结如下1.对外暴露接口1,供业务方调用2.接口2的实现就是同步发送各种消息,比如发短信,发微信等,但不保证3.对外暴露接口2,供业务方调用4.接口2内部实现,也是发送消息,但是是通过mq解耦的4.1.业务方调用接口2后,接口2的实现将会发送一个topic;4.2.发送短信系统,消费这个topic,发送短信4.3.发送微信的系统,消费这个topic...原创 2018-11-02 15:58:48 · 12308 阅读 · 0 评论 -
eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了
eclipse mat 打开dump文件,明明大小1G,打开后却只有不到100M.其他的去哪了Used heap dump 显示的大小远小于dump文件大小解决:window-->Preferences-->memory Analuzer-->勾选keep unreachable objects-->apply and close...原创 2018-11-08 19:11:57 · 15746 阅读 · 0 评论 -
eclipse mat 分析dump文件,打开文件报错,out of memeory
eclipse mat 分析dump文件,打开文件报错,out of memeory解决:1.打开eclipse报out of memeory通用window-->Preferences-->java-->installed JREs-->选中-->edit-->在default VM arguments栏中加入:-server -Xms4096m -X...原创 2018-11-08 19:49:51 · 10744 阅读 · 0 评论 -
用户自定义排序的几种实现思路
场景每个用户,有多个分组每个分组在页面展示,而且是有顺序的,这个顺序是由用户决定以下是关于多种情况下的库表设计思路:情景一:如果每改一次,就要实时修改库,而且用户可以任意修改顺序,比如5个分组,由54321改为51432方案1:用户表,用一个字段存分组表的顺序,比如(1分组Id,2分组Id,3分组Id)分组表每次用户修改顺序,只改用户表的这个字段。查询的时候查出该用户所有分组,按...原创 2019-02-21 21:23:37 · 12552 阅读 · 0 评论 -
mapper注入失败,NoSuchBeanDefinitionException: No qualifying bean of type [com.xxx.XxxMapper] found for d
mapper注入失败: Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.xxx.XxxMapper] found for dependency: expected at least 1 bean which qualifies...原创 2019-03-13 09:29:44 · 21401 阅读 · 3 评论 -
maven更新快照不起作用的解决方法
问题:maven的快照包更新后,调用方使用idea点下面这个地方更新maven,并没有拉到最新的快照解决方法1删除本地仓库的快照包,再重新拉一次解决方法2下图,这里点进去下图,这个勾上就行了,再更新就能每次都拉最新的了...原创 2019-04-02 17:27:02 · 11581 阅读 · 0 评论 -
一个简单的权限系统模型
我们知道,一般说的简单的权限系统,都是使用shiro或者spring-securityshiro之前用的比较多,原理也容易理解,算是比较成熟的权限方面的框架spring-security相对源码比较难懂,但由于与spring的完美融合,也有一定的市场而本文使用的技术是:自定义注解+springAOP这个是实现了简单的用户、角色、权限的关系。算是提供一种思路吧。详细如下图:...原创 2019-05-31 23:39:07 · 7989 阅读 · 0 评论 -
数据迁移记录
做数据迁移,数据库是分两片,每片一主两从,没有读写分离 前提: 使用服务器1:2核4G内存40G硬盘 线程池:5个 每个线程分页查询,每页1000条 平均数据是一天一个线程,一天3万数据,所以大概就是30页的分页深度服务器1的数据: cpu使用率在74%上下(有点高,2核的毕竟比不过4核的) 内存使用在41%上下 硬盘使用率在26%上下使用服务器2:4核8G内存50G硬...原创 2018-06-21 11:28:03 · 7791 阅读 · 0 评论