简介 ArchUnit 利用反射和字节码技术获取所有的包、类、字段等信息,并通过特定的分析来确定对象之间的访问关系。ArchUnit 使用 ASM 作为字节码分析的工具,代价是 ArchUnit 的很多规则的定义不是类型安全的。 ArchUnit 支持的检查特性有: 包依赖检查。 类依赖检查。 类和包的位置约定检查。 继承检查。 分层依赖检查。 循…
前言 线上环境,一般我们不需要详细的日志。但如果线上出现了啥疑难杂症,这些详细日志将会变得非常宝贵。这时,我们就需要调整日志的输出级别,把详细日志打开,帮助我们定位问题。比如把日志级别从WARN调整为DEBUG,打印出更多的信息帮助我们定位问题,而这就需要我们有一种在Runtime调整日志级别的能力。 实现 代码修改 代码修改的话,你需要写一段如下…
概述 最近接触到一个新的架构:COLA (基于扩展点+元数据+CQRS+DDD的应用架构) COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 开源地址:https://github.com/alibaba/COLA 博主 张建飞(alibaba) 博客地…
前言 最近在优化公司的一个数据导入功能,里面涉及到比较复杂的逻辑,特别是最后一个列表更新,涉及到比较多的数据,在这里卡顿处主要为两处: 1.使用大量的查询条件去做修改删除操作 2.在一个for循环里面调用数据库做修改操作; 当数据量大的时候,服务非常的卡顿,在这里记录一下优化过程 现状 代码一: sql中有大量查询条件 Service 类 // 前…
OAuth 2.0 是一个流行的授权机制,用来授权第三方应用,获取用户数据。 第三方登录 用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。举例来说,A 网站允许 GitHub 登录为以下流程: A 网站让用户跳转到 GitHub。 GitHub 要求用户登录,然后询问&…
thumbnailator 介绍 Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处…
前言 客户环境系统迁移新服务器,客户要求数据库从 mariadb 修改为 mysql ,新装了一个 mysql5.7 迁移旧数据后,启动项目,后台纷纷报错 报错信息: Expression #1 of ORDER BY clause is not in SELECT list, references column 'xxxx' which is n…
前言 最近项目中,需要多个文件打包下载,这里通过将多个 url 文件直接转为一个 zip 压缩包下载的方式 实现 package com.pip.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletR…
前言 公司项目使用的 springcloud 微服务,打包后上线巨慢,因为每个项目都引用了很多 jar,上传到服务器的时候速度感人,但是其中很多项目用到了一样的 jar ,发现有一种 lib jar 包外置方式,先把 所有 jar 包放在一个文件夹里面,上传到服务器后,只要 pom 里面没有新的依赖就不需要更新 lib 包,如果有新的依赖也只需要增…
前言 项目中多个微服务使用了精简打包方式,lib 包外置,现在就需要把各个子模块的 lib 包汇总到一起,并且获取到最新多出来的 jar 文件,用到下面一段命令,这里记录下来备用。 其中 projectPath 为项目所在地址 libsPath 为全量 lib jar 包 newlibsPath 为和 libsPath 比较后 多出来的 jar 命…