<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave</artifactId>
<version>5.9.5</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-core</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
public class TraceUtils {
private static Tracer staticTracer;
private static Tracing staticTracing;
private static SpanNamer staticSpanNamer;
@Autowired
private Tracing tracing;
@Autowired
private SpanNamer spanNamer;
public TraceUtils() {
}
public static ScopedSpan span(String name) {
return staticTracer.startScopedSpan(name);
}
public static <T> T runInScope(String name, Supplier<T> supplier) {
ScopedSpan span = span(name);
T var3;
try {
var3 = supplier.get();
} finally {
span.finish();
}
return var3;
}
@PostConstruct
public void init() {
staticTracing = this.tracing;
staticTracer = staticTracing.tracer();
staticSpanNamer = this.spanNamer;
}
public static String getReqId() {
return MDC.get("traceId");
}
public static Runnable traceTask(Runnable delegate) {
return new TraceRunnable(staticTracing, staticSpanNamer, delegate);
}
public static <V> Callable<V> traceTask(Callable<V> delegate) {
return new TraceCallable(staticTracing, staticSpanNamer, delegate);
}
public static void main(String[] args) {
List<Integer> list = Lists.newArrayList(6,2,7,4,10,7,5);
Integer[] array = list.toArray(new Integer[list.size()]);
for(int i =1;i< array.length;i++){
for(int j = i; j > 0 ;j --){
if(array[j] < array[j -1]){
int temp = array[j];
array[j] = array[j-1];
array[j-1] = temp;
}else {
break;
}
}
}
System.out.println(JSON.toJSONString(array));
}
}