我正在尝试将 Openzipkin Brave 应用于应用程序,以帮助使用 Logback 进行日志跟踪。该应用程序是一个 spring webmvc 应用程序,它使用 ForkJoinPool。
主线程(spring webmvc 部分)中的跟踪正在工作,但我在将跟踪上下文传递到 ForkJoinThread 时遇到困难。根据我的理解,跟踪上下文存储在 threadlocal 中,显然 ForkJoinWorkerThread (或 ForkJoinTask)无法访问它。我想知道如何才能让它发挥作用。
最佳答案
了解 ForkJoinPool 如何使用 ForkJoinWorkerThreadFactory 和 ForkJoinWorkerThread 进行设计/操作,并成为工作线程在 Spring 上下文之外执行的 native Java 功能。向 ForkJoinPool 执行添加跟踪的唯一方法是自定义任务本身。
这是blog在 Spring Boot 3x 中使用 Micrometer 添加跟踪到 ForkJoinPool 任务执行。
关于java - 使用 Openzipkin Brave 与 ForkJoinPool 进行跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52474703/