kkFileView 文件预览 ofd 文件支持版本v3.6.0发布

kkFileView 专注文件预览 kkFileView 是以 spring boot 构建的文件在线预览的项目,已评码云 GVP 项目。以最宽松的 Apache 协议开源。kkFileView 致力于打造开源里最简单好用的文件预览项目。本次发版重点支持了 ofd 文件,欢迎下载使用,详细内容如下: gitee 发版信息: https://gitee.com/kekingcn/file-online-preview/releases/v3.6.0 github 发版信息: https://github.com/kekingcn/kkFileView/releases/tag/v3.6.0 本次版本迭代内容 of...

阅读全文 »

给 xxljob 加一个 k8s 执行器

给 xxljob 加一个 k8s 执行器

前言 xxljob 是采用 java 开发的开源的任务调度系统,架构上分为调度管理器、执行器,目前除了官方提供的 java 执行器外,也有 go 开发者提供了 go 语言的执行器(看了 go 执行器的代码,除了任务日志没有实现,其他功能实现都比较完整)。 xxljob 在设计上,抽象出了执行器的接口,所以实现一个语言的执行器并不复杂,这里主要探索下,如何利用 k8s 的 pod 的能力,使用 xxljob 调度 pod ...

阅读全文 »

maven deploy 集成 gitlab ci 自动发版

maven deploy 集成 gitlab ci 自动发版

背景 多模块的 maven 项目,抽象了通用的代码逻辑作为单独的 maven 模块,这样,不仅自己项目可以用,也可以提供依赖给其他项目用,那么这个时候需要将这个模块上传到 maven 私服,发布 maven 私服时,release 版本不支持覆盖,所以需要集成 ci 工具,给 maven 模块自动加上版本号,并自动完成 deploy 操作。本文方案依赖 maven 打包插件 flatten-maven-plugin,maven 版本要求大于等于3.5.0 maven 配置 ...

阅读全文 »

SonarQube 私有项目徽章显示方案

SonarQube 私有项目徽章显示方案

背景 sonarQube 目前不支持私有项目的徽章图片获取,这个问题早在 2018 年就在 sonar 社区里有过激烈的讨论。后面 sonar 官方也关注到了这个需求的必要性,也着手排期在做了。但是从 2020年2月份创建好了项目计划后,到现在一年过去了,还没有任何的动静,所以不等官方的版本计划了,只能自己寻求一种可以快速实施的方案 社区讨论: https://community.sonarsource.com/t/badges-on-private-projects/4894...

阅读全文 »

java管道流 PipedInputStream & PipedOutputStream 的应用

前言 PipedInputStream 和 PipedOutputStream 设计用来解决跨线程的字节数据传输。它们总是成对出现的,而在使用上,也只能 工作在两个不同的线程上,在一个线程里使用管道输入和输出流可能会造成死锁。网上有很多介绍这两个存在于 io 包下的 api。却几乎 找不到一个写 PipedInputStream 的使用场景的,所以本文结合实际业务,来聊一聊 PipedInputStream 的应用。 原理简介 我们知道,输出流写数...

阅读全文 »

apollo 在 spring-boot 中的加载过程解析

apollo 在 spring-boot 中的加载过程解析

前言 apollo 是一个开源的配置中心项目,功能很强大,apollo 本身的配置项并不复杂,但是因为配置的路径特别多,非常容易搞混了, 所以本文试图聚焦 spring-boot 的场景,在 spring-boot 微服务场景下,搞清楚 apollo-client 的加载过程 集成使用 1、添加 gradle 依赖 implementation \"com.ctrip.framework.apollo:apollo-client:1.6.0\" 2、配置 application.properties apollo 自身的配置共包含 9 项,必要配置只有 3 项,其...

阅读全文 »

ratelimiter-spring-boot-starter 开箱即用的限流器

ratelimiter-spring-boot-starter 基于 redis 的偏业务应用的分布式限流组件,使得项目拥有分布式限流能力变得很简单。限流的场景有很多,常说的限流一般指网关限流,控制好洪峰流量,以免打垮后方应用。这里突出偏业务应用的分布式限流的原因,是因为区别于网关限流,业务侧限流可以轻松根据业务性质做到细粒度的流量控制。比如如下场景, 案例一: 有一个公开的 openApi 接口, openApi...

阅读全文 »