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