mirror of
https://github.moeyy.xyz/https://github.com/GeWuYou/forgeboot
synced 2025-10-28 02:36:39 +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 {
|
dependencies {
|
||||||
implementation(platform(libs.springBootDependencies.bom))
|
implementation(platform(libs.springBootDependencies.bom))
|
||||||
implementation(libs.springBoot.autoconfigure)
|
implementation(libs.springBoot.autoconfigure)
|
||||||
|
implementation(project(Modules.Context.STARTER))
|
||||||
compileOnly(platform(libs.springCloudDependencies.bom))
|
compileOnly(platform(libs.springCloudDependencies.bom))
|
||||||
compileOnly(libs.springBootStarter.web)
|
compileOnly(libs.springBootStarter.web)
|
||||||
compileOnly(libs.springBootStarter.webflux)
|
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.ContextFieldContributor
|
||||||
import com.gewuyou.forgeboot.context.api.entities.FieldDef
|
import com.gewuyou.forgeboot.context.api.entities.FieldDef
|
||||||
import com.gewuyou.forgeboot.context.api.enums.Scope
|
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.core.extension.log
|
||||||
import com.gewuyou.forgeboot.trace.api.RequestIdProvider
|
import com.gewuyou.forgeboot.trace.api.RequestIdProvider
|
||||||
import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
||||||
@ -24,7 +25,7 @@ import java.util.UUID
|
|||||||
@Configuration
|
@Configuration
|
||||||
@EnableConfigurationProperties(TraceProperties::class)
|
@EnableConfigurationProperties(TraceProperties::class)
|
||||||
class TraceAutoConfiguration(
|
class TraceAutoConfiguration(
|
||||||
private val traceProperties: TraceProperties
|
private val traceProperties: TraceProperties,
|
||||||
) {
|
) {
|
||||||
/**
|
/**
|
||||||
* 请求ID提供者(用于生成请求ID)
|
* 请求ID提供者(用于生成请求ID)
|
||||||
@ -34,9 +35,9 @@ class TraceAutoConfiguration(
|
|||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(RequestIdProvider::class)
|
@ConditionalOnMissingBean(RequestIdProvider::class)
|
||||||
fun traceRequestIdProvider(): TraceRequestIdProvider {
|
fun traceRequestIdProvider(contextHolder: ContextHolder): TraceRequestIdProvider {
|
||||||
log.info("TraceRequestIdProvider 已创建!")
|
log.info("TraceRequestIdProvider 已创建!")
|
||||||
return TraceRequestIdProvider(traceProperties)
|
return TraceRequestIdProvider(traceProperties,contextHolder)
|
||||||
}
|
}
|
||||||
@Bean
|
@Bean
|
||||||
fun requestContributor() = ContextFieldContributor {
|
fun requestContributor() = ContextFieldContributor {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation(platform(libs.springBootDependencies.bom))
|
implementation(platform(libs.springBootDependencies.bom))
|
||||||
api(project(Modules.Core.EXTENSION))
|
api(project(Modules.Core.EXTENSION))
|
||||||
api(project(Modules.Context.STARTER))
|
compileOnly(project(Modules.Context.STARTER))
|
||||||
compileOnly(project(Modules.TRACE.API))
|
compileOnly(project(Modules.TRACE.API))
|
||||||
compileOnly(platform(libs.springCloudDependencies.bom))
|
compileOnly(platform(libs.springCloudDependencies.bom))
|
||||||
compileOnly(libs.springBootStarter.webflux)
|
compileOnly(libs.springBootStarter.webflux)
|
||||||
@ -9,5 +9,4 @@ dependencies {
|
|||||||
// Spring Cloud OpenFeign (Compile Only)
|
// Spring Cloud OpenFeign (Compile Only)
|
||||||
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
|
// https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign
|
||||||
compileOnly(libs.springCloudStarter.openfeign)
|
compileOnly(libs.springCloudStarter.openfeign)
|
||||||
kapt(libs.springBoot.configuration.processor)
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
package com.gewuyou.forgeboot.trace.impl.provider
|
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.RequestIdProvider
|
||||||
import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
||||||
|
|
||||||
@ -12,7 +13,8 @@ import com.gewuyou.forgeboot.trace.api.config.TraceProperties
|
|||||||
* @author gewuyou
|
* @author gewuyou
|
||||||
*/
|
*/
|
||||||
class TraceRequestIdProvider(
|
class TraceRequestIdProvider(
|
||||||
private val traceProperties: TraceProperties
|
private val traceProperties: TraceProperties,
|
||||||
|
private val contextHolder: ContextHolder
|
||||||
): RequestIdProvider {
|
): RequestIdProvider {
|
||||||
/**
|
/**
|
||||||
* 获取请求ID
|
* 获取请求ID
|
||||||
@ -22,6 +24,6 @@ class TraceRequestIdProvider(
|
|||||||
* @return 请求ID的字符串表示
|
* @return 请求ID的字符串表示
|
||||||
*/
|
*/
|
||||||
override fun getRequestId(): String {
|
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