mirror of
https://github.moeyy.xyz/https://github.com/GeWuYou/forgeboot
synced 2025-10-27 23:08:55 +08:00
feat(trace): 添加请求上下文贡献者 Bean
- 新增 requestContributor 方法,创建 ContextFieldContributor 实例 - 定义请求上下文中需要维护的字段集合- 优化 TraceRequestIdProvider 方法的注释说明
This commit is contained in:
parent
ed8bb7cc91
commit
bdba342daa
@ -28,10 +28,11 @@ class TraceAutoConfiguration(
|
|||||||
private val traceProperties: TraceProperties,
|
private val traceProperties: TraceProperties,
|
||||||
) {
|
) {
|
||||||
/**
|
/**
|
||||||
* 请求ID提供者(用于生成请求ID)
|
* 创建请求ID提供者Bean
|
||||||
*
|
*
|
||||||
* 该提供者用于生成请求ID,默认为TraceRequestIdProvider
|
* 用于生成分布式请求链路追踪所需的唯一请求标识
|
||||||
* @return RequestIdProvider实例
|
* @param contextHolder 上下文持有者,用于跨组件传递请求上下文
|
||||||
|
* @return 初始化完成的TraceRequestIdProvider实例
|
||||||
*/
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean(RequestIdProvider::class)
|
@ConditionalOnMissingBean(RequestIdProvider::class)
|
||||||
@ -39,13 +40,24 @@ class TraceAutoConfiguration(
|
|||||||
log.info("TraceRequestIdProvider 已创建!")
|
log.info("TraceRequestIdProvider 已创建!")
|
||||||
return TraceRequestIdProvider(traceProperties,contextHolder)
|
return TraceRequestIdProvider(traceProperties,contextHolder)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建请求上下文贡献者Bean
|
||||||
|
*
|
||||||
|
* 定义请求上下文中需要维护的字段定义集合
|
||||||
|
* @return ContextFieldContributor实例,包含完整的上下文字段定义
|
||||||
|
*/
|
||||||
@Bean
|
@Bean
|
||||||
fun requestContributor() = ContextFieldContributor {
|
fun requestContributor() = ContextFieldContributor {
|
||||||
setOf(
|
setOf(
|
||||||
FieldDef(
|
FieldDef(
|
||||||
header = traceProperties.requestIdHeaderName, // 请求-响应头名
|
// 请求-响应头名
|
||||||
key = traceProperties.requestIdMdcKey, // ctx/MDC 键
|
header = traceProperties.requestIdHeaderName,
|
||||||
generator = { UUID.randomUUID().toString() }, // 如果前端没带,用这个生成
|
// ctx/MDC 键
|
||||||
|
key = traceProperties.requestIdMdcKey,
|
||||||
|
// 前端未携带时的生成策略
|
||||||
|
generator = { UUID.randomUUID().toString() },
|
||||||
|
// 作用域范围
|
||||||
scopes = setOf(Scope.HEADER, Scope.MDC, Scope.REACTOR)
|
scopes = setOf(Scope.HEADER, Scope.MDC, Scope.REACTOR)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user