摘要: 问题描述 1、开启了数据库事务 2、通过EntityManager执行查询,获得返回对象 3、代码业务逻辑处理,其中有对象set属性值的操作 4、没有执行过JPA的save方法或者update语句 5、提交数据库事务,发现数据库中对应的数据更新成了新的属性值 问题复现 @Transactional 阅读全文
posted @ 2021-09-10 18:13 codest 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 1、 @SpringBootApplication 注解中引用了@EnableAutoConfiguration 注解。 2、查看 @EnableAutoConfiguration 注解,发现引用了 @AutoConfigurationPackage 注解。 3、查看 @AutoConfigurat 阅读全文
posted @ 2021-07-21 14:30 codest 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 表结构导出 ## @Title Hive库表元数据导出脚本 ## @Author changxy #!/bin/bash ##############注意修改Hive连接信息############### hive=jdbc:hive2://127.0.0.1:10000 ############# 阅读全文
posted @ 2021-07-01 15:43 codest 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 背景 还是先说下做这个的背景,开发环境上了K8S,所有的微服务都注册在K8S内的Nacos,注册地址为K8S内部虚拟IP,K8S内的服务之间相互调用没有问题,但是本机开发联调调用其他微服务就访问不到。 解决方案 1、KT Connect,可以理解为一个VPN工具,可以和K8S网络联通,缺点是配置繁琐 阅读全文
posted @ 2021-04-08 15:38 codest 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 业务需求 SpringBoot项目配置信息大多使用@Value注解或者@ConfigurationProperties注解读取配置信息,线上项目经常需要对某些配置进行调整,如果每次都需要修改配置文件再重新发布服务,难免会导致服务中断。 尤其是在分布式系统中多个服务节点都需要修改配置文件的场景,基于此 阅读全文
posted @ 2021-04-03 20:53 codest 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 业务场景 需要同时从多个副本数据库中查询数据,并对查询结果进行合并去重处理后返回前端。 实现过程涉及多数据源切换,这里不作过多讨论。 编码实现 实现过程: 1、定义异步查询数据方法; 2、通过CompletableFuture的allOf方法对多个异步执行结果进行处理; public class C 阅读全文
posted @ 2021-03-05 15:30 codest 阅读(2481) 评论(0) 推荐(0) 编辑
摘要: 背景 产品迭代使用CI/CD升级过程中,需要对不同发布环境的不同产品版本进行数据库迭代升级,我们在中间某次产品迭代时加入了Flyway中间件以实现数据库结构的自动化升级。 需求 由于是迭代过程中加入的Flyway,而不是一开始就使用,所以Flyway的版本表和版本记录数据在已经发布过的环境中是不存在 阅读全文
posted @ 2020-12-23 09:50 codest 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 【产品需求】 对所有元数据进行分析,匹配出表字段相似度达到阈值的向相似结构表关系数据。 网上没有搜到相关算法实现,只能自己动手了。 【算法实现】 简单点实现的话,可以轮询所有表,每张表都和其它表进行匹配相似度,不过这是人干的事?如果有1W张表岂不要查询1W × 9999次? 1、先统计出相同字段、表 阅读全文
posted @ 2020-09-04 18:47 codest 阅读(185) 评论(0) 推荐(0) 编辑
摘要: import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.visitor.SchemaStatVisitor; import c 阅读全文
posted @ 2020-08-20 15:07 codest 阅读(1651) 评论(1) 推荐(0) 编辑
摘要: 调用一个接口,发送POST请求,浏览器和Postman均返回正常,代码中用RestTemplate和HttpClient均返回乱码 开始一直以为是编码问题导致,网上查了解决方法,也看了源码,都不对症 最后发现在请求头header中有两个配置项,如下: "Accept-Encoding":"gzip, 阅读全文
posted @ 2020-08-09 22:37 codest 阅读(285) 评论(0) 推荐(0) 编辑