16、jvm-sandbox-repeater 中的几个Cont

2023-02-09  本文已影响0人  许你一枝花

一、RepeatContext

1、RepeatContext中包含了如下内容:

当前被回放记录的新traceId(新生成)

从数据库record中查询的recordModel数据(包含完整的流量回放需要的数据)

meta数据:本次回放是否需要mock,及mock策略 ,及其它数据

2、创建:流量录制回放时,在回放分发器中创建RepeatContext

3、RepeatContext的使用

RepeatContext的传递及获取,一种是通过方法调用传递RepeatContext,另外一种是通过:RepeatCache.putRepeatContext(context);

在事件监听器中,判断是否是回放流量,如果是回放流量,在进一步判断是否需要mock,进行后续mock流程的处理

二、TraceContext

TraceContext持有traceId ,并通过ThreadLocalttlContext =new TransmittableThreadLocal(); 存储在线程上下文中。实现一个方法的before \ return \throw 不同事件的串联

主要用在DefaultEventListener及其子类中,initContext(event);clearContext(event); ,两个方法中进行初始化和销毁

上一篇 下一篇

猜你喜欢

热点阅读