Class Tracer

java.lang.Object
org.aoju.bus.tracer.Tracer

public class Tracer extends Object
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Backend
     
    protected static Backend
    getBackend(Resolver resolver)
    返回Backend类路径上必须只有一个Tracer实现 对该方法的调用可能最初会阻塞以使用ServiceLoader查找实现 从具有不同类加载器上下文的多个线程对该方法的调用最初可能很慢 因为高速缓存写入可能在并发情况下互相覆盖,并且某些类加载器上下文可能需要多次查找,允许查找机制完全避免同步 TODO:如果运行嵌套的类加载器环境(例如servlet容器),并且Tracee Api位于顶层 类加载器中,而Tracee实现位于子类加载器中,则子类加载器可能不会卸载*直到出现内存不足的情况(因为SoftReference将BackendProvider保留在内存中) 可以将SoftReference更改为WeakReference,但让TraceeBackend对它的TraceeBackendProvider保持强引用

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Tracer

      public Tracer()
  • Method Details

    • getBackend

      public static Backend getBackend()
    • getBackend

      protected static Backend getBackend(Resolver resolver)
      返回Backend类路径上必须只有一个Tracer实现 对该方法的调用可能最初会阻塞以使用ServiceLoader查找实现 从具有不同类加载器上下文的多个线程对该方法的调用最初可能很慢 因为高速缓存写入可能在并发情况下互相覆盖,并且某些类加载器上下文可能需要多次查找,允许查找机制完全避免同步 TODO:如果运行嵌套的类加载器环境(例如servlet容器),并且Tracee Api位于顶层 类加载器中,而Tracee实现位于子类加载器中,则子类加载器可能不会卸载*直到出现内存不足的情况(因为SoftReference将BackendProvider保留在内存中) 可以将SoftReference更改为WeakReference,但让TraceeBackend对它的TraceeBackendProvider保持强引用
      Parameters:
      resolver - 解析器
      Returns:
      the Backend