- 博客(44)
- 收藏
- 关注
原创 mysql主从及备份
若 GPG Keys are configured as: …1.由于centOS7中默认安装了MariaDB,需要先进行卸载。查询下本机mysql是否卸载干净,若有残留也需要卸载。4.修改my.conf 且开启mysql服务。5.查看mysql默认密码并登陆。2.下载MySQL仓库并安装。3.安装MySQL数据库。
2024-03-18 17:49:55
194
原创 debezium docker订阅oracle 11g
INSTANT_CLIENT_DIR 为oracleCilent,去官网下载即可,oracle11g的client是jdk8使用的,而debezium是jdk11, 这里我使用的是oracle12的client,测试可以使用。kafka的cluster.id最好是随意写一个,这里把所有容器的网络ip都定义好,方便后面使用。zookeeper实现了kafka消息的一致性,debezium 把订阅的数据推送到kafka。有一个以你设置的前缀开头的和你表名结尾的队列即为你订阅的表,如上配置则为。
2023-04-17 15:39:32
835
原创 事务隔离级别 gap锁 死锁
1.事务隔离级别序列化(SERIALIZABLE)可重复读(REPEATABLE READ)提交读(READ COMMITTED)未提交读(READ UNCOMMITTED)四个隔离级别分别对应增删改查2.gap锁分析:未提交读(READ UNCOMMITTED):增删改查不加锁。提交读(READ COMMITTED):增时锁住索引一段的距离(如添加时索引为12,锁住一段索引在12上下的一段距离),等事务提交时候释放锁。可重复读(REPEATABLE READ):增删改数据时锁住索引一
2022-05-28 15:10:11
482
原创 ibatis.reflection.ReflectionException: Could not set property ‘id‘ of
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.zzy.web_practice.entity.Practice1' with value '1520304645107871746' Cause: java.lang.IllegalArgumentE
2022-04-30 15:44:21
821
原创 【javax.xml.bind.PropertyException: name: com.sun.xml.internal.bind.marshaller.CharacterEscapeHandle】
xml解析找不到CharacterEscapeHandler
2022-04-24 17:55:11
1535
原创 java 实现aes-128-cbc(php)
1.php5.* 和php7.* 的 aes-128-cbc实现都是不一样的。2.php7.* 代码openssl_encrypt($str, 'aes-128-cbc', $secrete_key,OPENSSL_NO_PADDING, $iv);对应实现模式:AES/CBC/PKCS7Padding、AES/CBC/PKCS5Padding若使用AES/CBC/PKCS5Padding,可在jdk8直接运行,但是输出结果不一致,需使用其他provider Security.add
2022-04-13 10:37:41
1094
2
原创 java pmt以及ipmt计算
引用poi包里面的financing类方法包名org.apache.poi.ss.formula.functions方法Finance.pmt()方法Finance.ipmt()
2022-03-01 15:53:09
664
原创 content-md5加密 编码的坑
MD5 算法输出的结果为 128 位长的摘要。当以网络字节序(大端序) 解析时,可得到16字节的二进制数据序列。随后,将这 16 个字节按 base64 算法编码,最终得到可作为 Content-MD5 字段取值的结果。因此,针对 MIME 实体的原始数据应用 MD5 算法。MD5 作为校验码,是一个 128 位长的二进制数。 在内存中,128 bits = 16 octets。 经过 [Base64][4] 编码,长度增加约 33%,编码后的长度应为 4*⌈16/3⌉ = 24 字节。 而正常编码下的长
2022-01-27 12:47:03
2190
原创 canal服务运行一段时间客户端遍历不到数据
canal:阿里巴巴的一款开源中间件,用于读取数据库binlog日志,实时发送给客户端。问题:使用canal后运行一段时间,客户端一直轮询,但是batchId始终为-1,手动改动数据库数据后,仍然还是获取不到。1.canal 服务读取出错了检查canal日志关键是 logs\example下的,看是否由报错提示,入报错列不匹配,或者类型转换异常等,可能是你修改了表结构导致,直接配置tsdb数据库,然后删除meta.dat缓存即可。可参考上一篇文章2.canal读取的binlog已被删除这里首先要介
2021-07-30 17:01:22
1396
原创 canal配置tsdb,支持表结构修改
################################################### mysql serverId , v1.0.26+ will autoGen# canal.instance.mysql.slaveId=0# enable gtid use true/falsecanal.instance.gtidon=false# position infocanal.instance.master.address=127.0.0.1:3306canal.insta
2021-05-26 10:52:28
4878
2
原创 mysql for update 锁
mysql for update 容易死锁。for update 用于事务在begin->commit(rollback)之间使用两个session同时执行下列代码(navicat 同时开两个窗口就行)1.for update不指定索引,锁全表begin;select * from dept where dname="产品部" for update;INSERT into dept (dname,dbsource) value("产品部","cloud1")commit;必须等第一
2021-03-05 17:01:35
704
1
原创 bytebuffer读写数据,nio使用时读到上一次的数据
首先看一组代码 ByteBuffer writeBuffer = ByteBuffer.allocate(1024); writeBuffer.put(new String("大话西游").getBytes()); System.out.println(new String(writeBuffer.array())); writeBuffer.clear(); System.out.println(new String(writ
2021-01-29 15:11:14
674
原创 elasticsearch 分词器器读写分词
elasticsearch 默认分词器为standard分词器,即:不指定分词器默认使用standard分词器修改默认分词器:PUT index{ "settings":{ "analysis":{ "analyzer":{ "caseSensitive":{ "filter":"lowercase", "type":"custom",
2021-01-22 20:51:57
418
1
原创 elasticsearch 分片及集群节点下线
分片(shard):因为ES是个分布式的搜索引擎, 所以索引通常都会分解成不同部分, 而这些分布在不同节点的数据就是分片. ES自动管理和组织分片, 并在必要的时候对分片数据进行再平衡分配, 所以用户基本上不用担心分片的处理细节,一个分片默认最大文档数量是20亿.ES默认为一个索引创建5个主分片,数据将尽可能平均分配到每一个分片。副本(replica)每一个主分片默认创建一个副本,副本数量可动态修改。副本为主分片备份对于分布式搜索引擎来说, 分片及副本的分配将是高可用及快速搜索响应的设计核心.主
2021-01-04 18:30:38
1067
原创 dockerfile-pom打包及docker feign调用
1.打包发布到本地 <plugin> <groupId>com.spotify</groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.4.10</version> <configuration>
2020-12-02 17:28:40
923
原创 win10家庭版 安装docker-desktop
win10家庭版伪装为win10专业版安装docker-desktop复制下面代码到新建txt里,并将其后缀修改为.cmdpushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\s
2020-09-19 17:05:14
1882
原创 docker创建mysql容器并修改配置
docker search mysql 5.7mysql过高的版本会有一些问题,驱动更新等,默认docker pull mysql 自动下载最新版mysql ,现在最新版为8.xdocker pull mysql 5.7下载到本地docker run -d -p 3307:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7给mysql默认密码并后台运行,将docker-mysql的3306端口映射到本机3307docker
2020-09-16 15:13:30
1004
1
原创 阿里云网关签名特殊字符无法通过
原代码public static String sendAlaDinByPost(String url, int soTimeout, int connectTimeout, String goodsSerial) { // logger.info("请求地址为:" + url); String bodyString = "{\"sku\":[\"" + goodsSerial + "\"]}"; String stringToSign = ""; String date = new D
2020-09-07 15:35:02
573
原创 spring加载拦截器找到多个bean
spring拦截器加载顺序本地逻辑创建拦截器-》加入配置在使用注入时spring会自动去找容器的bean,但在配置类是首先加载的,@component注解加载在spring扫描注解时才加入所以在拦截器上加@component注解,然后在配置类使用@autowire是很容易产生加载spring加载顺序的问题的,可能ide运行的时候没报错,打包过后运行就报错了。源代码/** * @description: 访问拦截器 * @author: zzy * @create : 2020-08_28
2020-08-29 09:29:54
364
原创 feign文件传输
pom文件添加依赖<dependency> <groupId>io.github.openfeign.form</groupId> <artifactId>feign-form</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>io.github.openfe
2020-08-24 16:25:59
3031
2
原创 shiro与jwt在分布式系统的表现
shiro:需要验证一次密码,会自动记住此sessionid判断为当前用户,保存其principals使用token时principals为token在分布式环境下sessionid是没有用的,只能用token作为唯一标识,shiro必须使用AbstractSessionDAO 来改变判断用户在登录后认证会保存到缓存中,每次进来时会通过服务的缓存来判断是哪个用户登录,所以在分布式系统中必须调用集群中每一个服务的登录可通过拦截器判断是否用友token判断其是否已登录,未登录则调用shiro的登录re
2020-08-24 15:32:28
586
原创 zuul网关文件上传优雅解决方案
出处:spring-zuulzuul网关对于文件上传并不友好,ribbon,hystrix一堆乱七八糟的配置会导致文件(特别是大文件)上传超时我们只需要在路径前面加/zuul即可绕过这些配置
2020-07-10 11:09:30
813
原创 list.remove之 ConcurrentModificationException
list的遍历for(int i=0;i<list.size();i++){ if(lsit.get(i)==xxx){ list.remove(i); }}上面代码表面上没有问题,实际上当满足条件的 节点大于1时list的顺序以及大小已经改变,遍历时会跳过一个节点,此慎坑。for(Object o:list){ if(o.equals(xx)){ list.remove(o); }}若满足if条件,此处代码会报错。因为foreach底层使用iterator,迭代器在运
2020-06-19 15:22:16
241
1
原创 spring5.0适配velocity
公司老项目jar包升级,spring需升级到5.0,原来模板引擎为velocity,不好重新换模板引擎。百度加上自身试验适配velocity首先是pom<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> <
2020-06-18 14:35:30
1251
原创 shiro拦截导致跨域,文件上传不成功
先上解决办法package com.mengruan.webbackage.config;import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;import org.springframework.context.annotation.Configuration;import javax.servlet.Se...
2020-04-26 17:24:54
1033
原创 简单建站所需资源(centos-java-mysql)
1.申请阿里云服务器/域名2.域名解析3.下载及安装jdk:推荐参考链接:jdk下载及安装我使用后发现此安装无需配置环境变量,可跳过配置环境变量那,另外他的环境变量配置是有问题的,不要直接复制使用。4.mysql下载及安装:推荐参考链接:mysql下载及安装5.开发端口端口分为阿里云端口开发以及服务器端口开放阿里云端口开发:本实例安全组-配置规则-入方向-配置你所需要的端口。服...
2020-03-28 15:29:13
118
原创 maven springboot多模块打包
分模块开发公共模块不要使用springboot插件,其他引用其公共模块的报会读取不到包。打完公共模块的包记得发布到本地maven仓库 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifa...
2020-01-17 18:25:49
348
原创 redistemplate 序列化配置
RedisTemplate一般配置 @Bean public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<Object, Object> redisTemplate = new ...
2020-01-13 16:23:37
1125
原创 老版本elasticsearch miss过滤
{ "query": { "filtered":{ "filter":{ "missing":{ "field":"id" } } } },"from":0,"size":3}```查询...
2019-12-11 17:24:44
147
原创 poi excel工具
导入excel返回List<List>pom <!--处理2003 excel&ndash--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>...
2019-10-17 14:28:49
197
原创 Thumbnails压缩图片到指定大小
网上看了很多demo,很多都是照搬别人的代码,不管有没有问题,有的甚至递归不关流,还有的递归疯狂往自己磁盘写文件,递归一次写一次,我自己把网上的demo整理改了下发出来。 /** * @Description: 压缩图片到指定大小 * @Param: desFileSize:大小,accuracy:每次缩小几倍 * @return: String * @A...
2019-09-30 14:04:30
3524
3
转载 hystrixboard一直loading
需要先调用feign的消费者端一次,也就是客户端(负载均衡)要调一次服务端参考地址https://cloud.tencent.com/developer/article/1333822
2019-08-02 17:16:20
576
原创 ribbon-eurek找不到服务(ribbon No instances available for xxx)
ribbon配置使用eureka服务非常简单,miain方法加一个@EnableDiscoveryClient在配置类的resttemplate方法上面加注解@LoadBalanced使用ribbon的时候报错 ribbon No instances available for xxx大意为在eureka里找不到该服务我在这里列出两种可能:该ribbon服务未在eureka里面注册,打...
2019-07-31 18:19:31
2063
原创 Unresolved Maven dependencies
在使用maven搭建springcloud项目的时候发现老师在maven依赖里面报错Unresolved Maven dependencies “xxx.xxx.jar”。这是由于maven没有下载到对应的jar包,或者jar包下载错误了。本人分析可能原因有两种:1.jar包没有下载完,我们可以手动打开本地maven仓库找到对应的jar包,然后把jar包删除重新下载,下载完后把pom中的d...
2019-07-29 14:23:50
14092
原创 springboot shiro注解不起作用
shiro框架两个常用注解@RequiresRoles@RequiresPermissions这两个注解是用来控制是否用户有权限调用此方法的。没有起作用的原因可能有两种1.缺少配置spring.xml里面增加配置<!-- 1.配置lifecycleBeanPostProcessor,可以在Spring IOC容器中调用shiro的生命周期方法. --&g...
2019-07-17 21:55:40
1013
原创 vue axios.post提交后台不能接收
先看前端代码后台输出product所有属性都是空,查阅各种文档后,有大神在oschina上指出,vue-axios的post提交,默认是传的json过去,如果向接收可以使用springmvc的@requestBody注解更改代码原文地址https://www.oschina.net/question/2843550_2306169...
2019-07-12 17:56:03
224
原创 mybatis insert返回主键
使用springboot整合shiro写demo的时候发现一个问题,当我在使用mybatis的insert标签时, <insert id="addUser" useGeneratedKeys="true" keyProperty="userid" >插入一点问题也没有,但是当我们拿到userid的时候永远是1,因为它返回的是插入成功的数量 Integer addUser(@...
2019-07-01 16:51:37
109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人