我开源的一些kit
也有在我们公司项目中使用,所以这些开源项目也有一直在维护,只是默默的修复bug
和更新特性。
wujiuye的Github:
https://github.com/wujiuye
那些我默默在维护的开源项目:
基于XXL-JOB
二次开发的XXL-JOB-ONION
也默默开源了,不过删了告警通知优化的部分代码。 最近也加入了安全检测点机制,有关XXL-JOB-ONION
推荐阅读这两篇文章:
最近加了一款轻量级的分布式调用链路追踪Java
探针,目前已经适配OpenFeign
、Spring MVC
。VINE
使用ASM
改写字节码插入埋点代码,埋点代码调用埋点事件上报方法。
如果你们项目中也是将日记收集到阿里云日记服务(或者其它日记服务),那么可以使用VINE
将调用链路日记输出到阿里云日记服务(或者其它日记服务),而不需要部署ES
收集日记。但VINE
只是探针,如果想要查看链路日记,需要根据事件ID
和时间链接起来,对于单个应用打印的日记,VINE
已经链接成一条日记打印了,并且可以选择是否在调用链路抛出异常时才打印调用链接日记。
有两个模块,分别是easymulti-datasource-mybatis
、easymulti-datasource-r2dbc
,分别封装了支持mybatis、r2dbc框架的动态多数据切换的实现。其中easymulti-datasource-mybatis不仅仅只是提供多数据源的切换功能,并且也并非使用多数据源时才可以使用它。
easymulti-datasource-mybatis与easymulti-datasource-r2dbc都封装了两种常用的多数据使用模式:主从模式和非主从模式,主从模式只支持两个数据源,非主从模式支持多个数据源。无论使用哪种模式,都支持只使用单个数据源。
如果只使用单数据源,主从数据源模式只需要配置主数据源,并且配置默认数据源为Master
;非主从的多数据源模式只需要配置First
数据源,并且配置默认数据源为First
。
easymulti-datasource-mybatis(原easymulti-datasource-spring-boot-starter)
在2.x
版本开始,支持数据源切换回溯、事务监听、SQL
监听,这些特性适合用来做一些埋点事件功能,例如监听sql
,在执行某表的update
操作时,如果更新了某个字段,就往MQ
发送事件。
JCG
(json class generator
)是一个可用于运行时根据json
生成class
的工具,可能使用场景不多。由于是运行时生成的class
,所以生成的class
也只能通过反射去使用。当初开发它,是为了辅助完成一个广告主自动化对接框架(不开源)的。
它不仅仅只是能生成一个类,为类添加字段和get/set
方法,它还支持为生成的class
添加注解,使用注解规则声明将注解添加在类或是字段上。
像GsonFromat
这类根据json
生成Java
代码的idea
插件也并不难实现,与JCG
实现原理也相通,只是JCG
使用ASM
生成字节码,而GsonFromat
是使用IDEA
的PSI
生成Java
代码。
我花了点时间重写过文档的一款excel
文件导入导出kit
,文档很齐全。
让你无需依赖Spring
框架,也能使用注解方式异步执行方法的异步框架,支持无返回值方法异步执行、带方法值方法异步执行。虽然几乎没有使用场景,毕竟使用Spring
就能实现的功能,干嘛还多依赖一个框架呢。不过还是有学习价值的,特别是如何将一个带返回值的方法包装成异步任务。
以上开源项目,欢迎大家使用或学习,以及提交issue
!