相关疑难解决方法(0)

Quarkus 本机模式下的手动上下文传播

我正在尝试让上下文传播在 Quarkus 本机模式下工作。
下面的代码在 JVM 模式下按预期工作,但MDC value: null在本机模式下返回。
我所说的“如预期”是指:
响应curl http://localhost:8080/thread-contextMDC value: from-thread-context

@Inject
ManagedExecutor managedExecutor;

@Inject
ThreadContext threadContext;

private final Supplier<String> mdcValueSupplier =
        () -> "MDC value:  " + MDC.get("foo") + "\n";

@GET
@Path("thread-context")
public String get() throws ExecutionException, InterruptedException {
    MDC.put("foo", "from-thread-context");
    Supplier<String> ctxSupplier = threadContext.contextualSupplier(mdcValueSupplier);
    return managedExecutor.supplyAsync(ctxSupplier).get();
}

Run Code Online (Sandbox Code Playgroud)

我创建了一个github 存储库,其中包含演示应用程序的完整代码和重现问题的分步说明。

io.quarkus:quarkus-smallrye-context-propagation存在依赖性。
夸库斯版本:1.9.2

问:是我的代码有问题,还是 Quarkus 有问题?

供参考:Quarkus 关于上下文传播的文档

java graalvm quarkus smallrye

1
推荐指数
1
解决办法
3648
查看次数

标签 统计

graalvm ×1

java ×1

quarkus ×1

smallrye ×1