# traceId生成扩展

# 1. 概述

traceId是用来记录一次完整请求的唯一标识id,用于记录追踪操痕迹。hos平台提供默认的id生成规则为uuid,产品组如需调整traceId,可自定义实现生成规则。

# 2. 自定义traceId生成实现

自定义实现HosTraceIdGenerateService(hos-security-core.jar中)接口类即可。
注意,实现的类需要注册为组件(添加@Service注解并加注@Primary注解以确保首选)。
示例如下:


@Service
@Primary
public class HisTraceIdGenerateServiceImpl implements HosTraceIdGenerateService {
    @Override
    public String generateTraceId() {
        // 自定义实现示例。生成随机数作为traceId
        return Math.random() + "";
    }
}

# 3. 注意事项

  • traceId生成规则需要保证全局唯一性,不能重复。
  • traceId生成规则需要保证足够随机,以避免被攻击者猜测。
  • 自定义实现需在产品组自己的模块中实现,并且启动可以被扫描到。