mirror of
https://github.moeyy.xyz/https://github.com/GeWuYou/forgeboot
synced 2025-10-27 13:26:40 +08:00
refactor(trace): 重构 TraceRequestIdProvider 并调整依赖
- 在 TraceAutoConfiguration 中添加 ContextHolder依赖 - 更新 traceRequestIdProvider 方法以使用 ContextHolder - 修改 TraceRequestIdProvider 类以使用 ContextHolder- 调整 forgeboot-trace-impl 的构建配置,将 context-starter 依赖改为 compileOnly - 移除 forgeboot-trace-impl 中的 spring-boot-configuration-processor 依赖
This commit is contained in:
parent
f6794fd14f
commit
ed8bb7cc91
@ -4,6 +4,7 @@ plugins {
|
||||
dependencies {
|
||||
implementation(platform(libs.springBootDependencies.bom))
|
||||
implementation(libs.springBoot.autoconfigure)
|
||||
implementation(project(Modules.Context.STARTER))
|
||||
compileOnly(platform(libs.springCloudDependencies.bom))
|
||||
compileOnly(libs.springBootStarter.web)
|
||||
compileOnly(libs.springBootStarter.webflux)
|
||||
|
||||
@ -4,6 +4,7 @@ package com.gewuyou.forgeboot.trace.autoconfig
|
||||
import com.gewuyou.forgeboot.context.api.ContextFieldContributor
|
||||
import com.gewuyou.forgeboot.context.api.entities.FieldDef
|
||||
import com.gewuyou.forgeboot.context.api.enums.Scope
|
||||
import com.gewuyou.forgeboot.context.impl.ContextHolder
|
||||
import com.gewuyou.forgeboot.core.extension.log
|
||||
import com.gewuyou.forgeboot.trace.api.RequestIdProvider
|
||||
import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
||||
@ -24,7 +25,7 @@ import java.util.UUID
|
||||
@Configuration
|
||||
@EnableConfigurationProperties(TraceProperties::class)
|
||||
class TraceAutoConfiguration(
|
||||
private val traceProperties: TraceProperties
|
||||
private val traceProperties: TraceProperties,
|
||||
) {
|
||||
/**
|
||||
* 请求ID提供者(用于生成请求ID)
|
||||
@ -34,9 +35,9 @@ class TraceAutoConfiguration(
|
||||
*/
|
||||
@Bean
|
||||
@ConditionalOnMissingBean(RequestIdProvider::class)
|
||||
fun traceRequestIdProvider(): TraceRequestIdProvider {
|
||||
fun traceRequestIdProvider(contextHolder: ContextHolder): TraceRequestIdProvider {
|
||||
log.info("TraceRequestIdProvider 已创建!")
|
||||
return TraceRequestIdProvider(traceProperties)
|
||||
return TraceRequestIdProvider(traceProperties,contextHolder)
|
||||
}
|
||||
@Bean
|
||||
fun requestContributor() = ContextFieldContributor {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
dependencies {
|
||||
implementation(platform(libs.springBootDependencies.bom))
|
||||
api(project(Modules.Core.EXTENSION))
|
||||
api(project(Modules.Context.STARTER))
|
||||
compileOnly(project(Modules.Context.STARTER))
|
||||
compileOnly(project(Modules.TRACE.API))
|
||||
compileOnly(platform(libs.springCloudDependencies.bom))
|
||||
compileOnly(libs.springBootStarter.webflux)
|
||||
@ -9,5 +9,4 @@ dependencies {
|
||||
// Spring Cloud OpenFeign (Compile Only)
|
||||
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
|
||||
compileOnly(libs.springCloudStarter.openfeign)
|
||||
kapt(libs.springBoot.configuration.processor)
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.gewuyou.forgeboot.trace.impl.provider
|
||||
|
||||
import com.gewuyou.forgeboot.context.impl.StringContextHolder
|
||||
import com.gewuyou.forgeboot.context.api.extension.get
|
||||
import com.gewuyou.forgeboot.context.impl.ContextHolder
|
||||
import com.gewuyou.forgeboot.trace.api.RequestIdProvider
|
||||
import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
||||
|
||||
@ -12,7 +13,8 @@ import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
||||
* @author gewuyou
|
||||
*/
|
||||
class TraceRequestIdProvider(
|
||||
private val traceProperties: TraceProperties
|
||||
private val traceProperties: TraceProperties,
|
||||
private val contextHolder: ContextHolder
|
||||
): RequestIdProvider {
|
||||
/**
|
||||
* 获取请求ID
|
||||
@ -22,6 +24,6 @@ class TraceRequestIdProvider(
|
||||
* @return 请求ID的字符串表示
|
||||
*/
|
||||
override fun getRequestId(): String {
|
||||
return StringContextHolder.get(traceProperties.requestIdMdcKey) ?:throw RuntimeException("requestId is null")
|
||||
return contextHolder[traceProperties.requestIdMdcKey] ?:throw RuntimeException("requestId is null")
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user