通用工具包,包含统一日志注解,统一异步注解,全链路追踪等。
涉及技术:SpringBoot, SpringCloud, OpenFeign, XXL-JOB, RocketMQ,ThreadLocal等。
- 导入Jar包
<dependency>
<groupId>com.acjava</groupId>
<artifactId>mytool-boot-starter</artifactId>
</dependency>
- 在需要使用日志或异步的方法上面,添加
@MyLog
或@MyAsync
注解即可。
同时代码里可随意使用 log.info()
和 log.error()
等日志记录,这些记录都将携带 traceId
- 演示普通跨服务调用
- 演示 MQ
- 演示 XXL_JOB
测试代码地址:cloud-test
mytool:
my-log:
enabled: true # 是否使用 @MyLog 日志注解,默认值为 true
trace:
enabled: true # 是否开启全链路追踪,默认值为 true
mq: # 是否开启 mq
rabbit:
enabled: false
rocket:
enabled: false
my-async:
enabled: true # 是否使用 @MyAsync 异步注解,默认值为 true
default-pool:
corePoolSize: 8
maxPoolSize: 16
keepAliveSeconds: 180
queueCapacity: 500
awaitTerminationSeconds: 60
threadNamePrefix: mytool-default-pool-
# 是否使用 @MyLog 日志注解,默认值为 true
mytool.my-log.enabled=true
# 是否开启全链路追踪,默认值为 true
mytool.trace.enabled=true
# 是否开启 RabbitMQ
mytool.trace.mq.rabbit.enabled=false
# 是否开启 RocketMQ
mytool.trace.mq.rocket.enabled=false
# 是否使用 @MyAsync 异步注解,默认值为 true
mytool.my-async.enabled=true
# 配置 @MyAsync 的线程池参数
mytool.my-async.default-pool.corePoolSize=8
mytool.my-async.default-pool.maxPoolSize=16
mytool.my-async.default-pool.keepAliveSeconds=180
mytool.my-async.default-pool.queueCapacity=500
mytool.my-async.default-pool.awaitTerminationSeconds=60
mytool.my-async.default-pool.threadNamePrefix=mytool-default-pool-